3

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 メソッドを動的に生成しようとしていますが、問題ないように見えます。何かご意見は?

4

3 に答える 3