Ist dies gültige Javascript-Syntax? Was macht es?
Parser.prototype = {
// ...
get currentState() {
return this.state[this.state.length - 1];
},
// ...
}
Siehe https://github.com/LearnBoost/stylus/blob/master/lib/parser.js.
Danke!
Ist dies gültige Javascript-Syntax? Was macht es?
Parser.prototype = {
// ...
get currentState() {
return this.state[this.state.length - 1];
},
// ...
}
Siehe https://github.com/LearnBoost/stylus/blob/master/lib/parser.js.
Danke!
Es definiert einen Getter:
Bindet eine Objekteigenschaft an eine Funktion, die aufgerufen wird, wenn auf diese Eigenschaft zugegriffen wird.
Lies über Getter und Setter.
Diese Funktion wird aufgerufen, wenn du auf die Eigenschaft zugreifst:
var sth = obj.currentState
Beachte, dass es sich nicht um einen Funktionsaufruf handelt (es gibt keine ()
), sondern um einen normalen Eigenschaftszugriff.
Ein entsprechender Setter sähe so aus:
set currentState(value) {
// tu etwas mit dem Wert
// der Wert wäre in diesem Beispiel 42
}
und würde aufgerufen, wenn du einen Wert dieser Eigenschaft zuweist, z.B.
obj.currentState = 42;
Die Schlüsselwörter get
und set
sind spezielle Operatoren, die innerhalb der Objektliteralnotation verwendet werden sollen. Du könntest auch __defineGetter__
und __defineSetter__
verwenden:
Parser.prototype.__defineGetter__('currentStatus', function() {
return this.state[this.state.length - 1];
});
Ich bin mir nicht sicher, in welcher Version es eingeführt wurde, es wird möglicherweise nicht von allen Browsern unterstützt (insbesondere IE ;)).
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.