問題は、JavaScript でオブジェクト初期化子を使用して次のような構造を作成することは可能ですか?
var human = new function (years) {
var age = years;
Object.defineProperties(this, {
age: {
enumerable:true,
get: function () {
return age;
},
set: function (value) {
if( typeof value != 'number') throw 'Age must be a number';
age = value;
}
}
});
}
私がやろうとしたこと:
var years = 0;
var human = {
_age: years,
get age () {
return this._age;
},
set age (value) {
if( typeof value != 'number') throw 'Age must be a number';
this._age = value;
}
}
この例はより直感的で「使いやすい」(少なくとも私にとっては) ですが、前の例のように「_age」がローカルである必要があります。
オブジェクト初期化子でローカル変数を作成することは可能ですか?