Można użyć get
i set
w maszynopis, który skompilować w Object.defineProperties
.
To jest funkcja ECMAScript 5, więc nie można jej używać, jeśli kierujesz na ES3 (domyślny dla kompilatora). Jeśli chcesz kierować reklamy na ES5, dodaj do swojego polecenia --target ES5
.
maszynopis:
class MyClass {
private view;
get View() { return this.view; }
set View(value) { this.view = value }
}
gromadzi do:
var MyClass = (function() {
function MyClass() { }
Object.defineProperty(MyClass.prototype, "View", {
get: function() {
return this.view;
},
set: function (value) {
this.view = value;
},
enumerable: true,
configurable: true
});
return MyClass;
})();
Ale jeśli chcesz pełną kontrolę ustawiania przeliczalny i konfigurowalny - można nadal używać surowego kodu Object.defineProperties
.
Tak, szukam sposobu na dostosowanie atrybutów "przeliczalnych", "konfigurowalnych" i "zapisywalnych", aby pasowały do mojego istniejącego kodu. – Spongman