Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
// запускается в консоли
Object.defineProperty( Object.prototype, 'awesomeprototype', {
set: function( object ) {
for( var prop in object ) {
Object.defineProperty( this.prototype, prop, {
value: object[ prop ],
enumerable: false
});
}
}
});
var X = function() {}
X.awesomeprototype = {
method: function() { alert( 'ok' ) }
};
var x = new X
x.method()
var o = {
__someProperty : 42,
get someProperty() { return this.__someProperty; },
set someProperty(v) { this.__someProperty = v; }
};
o.someProperty; // 42
o.someProperty = 56;
o.someProperty; // 56
Object.defineProperty или как сделать код капельку лучше