È possibile utilizzare get
e set
a macchina, che compilare in Object.defineProperties
.
Questa è una funzione ECMAScript 5, quindi non è possibile utilizzarla se si sta puntando su ES3 (il valore predefinito per il compilatore). Se sei felice di scegliere come target ES5, aggiungi --target ES5
al tuo comando.
dattiloscritto:
class MyClass {
private view;
get View() { return this.view; }
set View(value) { this.view = value }
}
compila a:
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;
})();
Ma se si vuole il pieno controllo di impostazione enumerabile e configurabile - si potrebbe ancora utilizzare il codice grezzo Object.defineProperties
.
sì, sto cercando un modo per personalizzare gli attributi "enumerable", "configurable" e "writable" per abbinare il mio codice esistente. – Spongman