Getters and Setters Generator
by Quique Fdez Guerra
HTML
Open your console (F12)
by @uriusfurius and @CKGrafico
JavaScript
(function(){
// Atributes
var id, name, number;
window.App = {
get id() { return 'test' + id; },
set id(newId) { id = newId; },
get name() { return 'test2' + name; },
set name(newName) { name = newName; },
get number() { return 'test3' + number; },
set number(newNumber) { number = newNumber; },
myMethod: function(){
return id + ' - ' + name;
}
}
})();
(function(){
// Run code
App.id = 5;
console.log('App:' + App.id);
App.id = 6;
console.log('App:' + App.id);
App.name = 'Quique'
console.log('App:' + App.myMethod());
console.log(App);
})();
/////////////////////////
//Getters and setters generator
(function(){
// Atributes
var attrs = {
id: {},
name: {},
number: {}
};
window.NewApp = {
myMethod: function(){
console.log(this.id)
console.log(this.name)
return this.id + ' - ' + this.name;
}
}
Object.keys(attrs).forEach(function(attr){
Object.defineProperty(NewApp, attr, {
get: function() { return 'dynamically created: ' + attrs[attr]; },
set: function(data) { attrs[attr] = data; }
});
});
})();
(function(){
// Run code
NewApp.id = 5;
console.log('NewApp: ' + NewApp.id);
NewApp.id = 6;
console.log('NewApp: ' + NewApp.id);
NewApp.name = 'Quique 2'
console.log('NewApp: ' + NewApp.myMethod());
console.log(NewApp);
})();