generated setters

by Csaba Hellinger

JavaScript

var obj = {
    a: 1,
    b: 2,
    c: 3
};

Object.keys(obj).forEach(function(key) {
    obj['set_' + key] = function(newValue) {
        var oldValue = obj[key];
        obj[key] = newValue;
        console.log(key, 'changed from', oldValue, 'to', newValue)
    };
});

obj.set_a(5);
obj.set_b(6);
obj.set_c(7);