Ich habe eine Konstruktorfunktion:JSLint: Unerwartetes Dangling in einer Konstruktorfunktion. Warum?
function Constructor(parameter) {
this._property = parameter;
}
und später
Constructor.prototype.someFunction = function() {...}
JSLint reklamierte
Unexpected baumelnden '_' in '_property'
Aber wenn ich lese Die Erklärung zu dieser Warnung finde ich:
ESLint löst diese Warnung nur für Variablen- und Funktionskennungen und nicht für Objekteigenschaftskennungen aus. jslinterrors.com
Ich dachte this._property
eine Objekt-Eigenschaft wäre ... so würde ich erwarten, dass JSLint damit glücklich sein sollte. Was mache ich hier falsch?
Es scheint, die Verwirrung kommt, weil Sie denken, dass Objekteigenschaften keine Identifikatoren sind. Tatsächlich sind sie Bezeichner, eine Obermenge von Bezeichnern. Aber wenn sie mit _ beginnen oder enden, werden sie auch Identifikatoren sein. – Oriol
Nun, ich denke, dass beide Bezeichner sind, aber dass sie unterschiedlich behandelt werden, abhängig von der Art der Variablen, auf die sie zeigen. Ich dachte in diesem Fall ist ein Variablenbezeichner der Name einer lokalen Variablen und ein Objekteigenschaftsbezeichner ist ein Name einer Variablen, die Teil eines Prototyps oder Objekts ist. – treeno
Ist das eine ** J ** SLint-Frage oder eine ** E ** SLint-Frage? Sie haben ein jslint-Tag und erwähnen, dass sich JSLint beschwert, aber dann geben Sie ein ** E ** SLint-spezifisches Stück Text von jslinterrors.com an. Wenn du ESLint-Verhalten willst, kenne ich eine gute Lösung ...; ^) – ruffin