Resig, Pro Javascript Techniques p.37

Auto setters and getters. Currying?

by BrownieBoy

HTML

<input type="button" onclick="doAction();" value="doAction()"><br>
<br>
<br>

<input name="TestField" value="" id="TestField"></form>

JavaScript

function User(properties) {
    var that = this;
    for (var i in properties) {(function() {
        that["get" + i] = function() {
            return properties[i];
        };
        that["set" + i] = function(val) {
           properties[i] = val;
        };
    })();}
}

function doAction() {
    var user = new User({
        name: "Bob",
        age: 44
    });
    
    console.log('user.getname() = ' + user.getname());
    user.setage(47);
    console.log('user.getage() = ' + user.getage());
    var x = 1;
}