Javascript でゲッターとセッターを作成するチュートリアルに従っています。次のようなコードがあります。
// Create a new User object that accept an object of properties
function User(properties) {
// Iterate through the properties of the object, and make
// sure it's properly scoped
for (var i in properties) { (function(){
// Create a new getter for the property
this['get' + i] = function() {
return properties[i];
};
// Create a new setter for the property
this['set' + i] = function(val) {
properties[i] = val;
};
})(); }
}
// Create a new User object instance and pass in an object of
// properties to seed it with
var user = new User({
name: 'Bob',
age: 28
});
// Just note that the name property does not exist, as it's private
// within the property object
console.log(user.name == null);
// However, we are able to access its value using the new getname()
// method, that was dynamically generated
console.log(user.getname());
ただし、コンソールには、ユーザーに getname メソッドがないというエラーが表示されます。コードは getter メソッドと setter メソッドを動的に生成しようとしていますが、問題ないように見えます。何かご意見は?