2013-09-26 7 views
5

Als ich schriebWarum kann ich ein Objekt wie "c = {get a() {}}" schreiben?

var c = { get a(){} }; 

Das Ergebnis ist das c-Objekt eine "get a" und "ein Set" Eigenschaft hat.

Warum?

Getestet in Chrome und Firefox.

+0

Warum nicht? So wurde die Sprache entworfen. Dies ist die Syntax zum Festlegen von Getter- und Setter-Eigenschaften in einem [Objektliteral] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters). – Bergi

Antwort

2

Manchmal ist es wünschenswert, den Zugriff auf eine Eigenschaft zu ermöglichen, die eine dynamisch berechneten Wert zurückgibt, oder Sie können, ohne dass die Verwendung von expliziten Methodenaufrufen den Status eines interne Variable widerspiegeln soll. In JavaScript kann dies mit einem Getter erreicht werden. Es ist nicht möglich, einen Getter gleichzeitig an eine Eigenschaft gebunden zu haben und diese Eigenschaft tatsächlich einen Wert zu halten, obwohl es möglich ist, einen Getter und einen Setter in Verbindung zu verwenden, um einen Typ Pseudo-Eigenschaft zu erstellen.

- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/get

Verwandte Themen