独自のゲッターとセッターを動的に構築するオブジェクトを作成しようとしています:
function Person( properties ) { // 'properties' is an object literal
this._private = properties; // private by convention
for ( key in this._private ) {
this[key] = function() {
return this._private[key];
}
}
}
私は、これが次のようなものを作成することを望んでいました:
var jack = new Person({
working:true,
age:33,
gender:'male'
});
jack.working() --> true
jack.age() --> 33
jack.gender() --> 'male'
問題は、次のように常に 'male' を返すことです。
jack.working() --> 'male'
jack.age() --> 'male'
jack.gender() --> 'male'
私は何が欠けていますか?ああ、これは単なる概念実証です。これが JavaScript でゲッターとセッターを作成するための完璧なソリューションではないことはわかっています。