Object.defineProperties() - визначає декілька нових або змінює існуючі властивості.
Object.defineProperties (obj, {name:props [, name2:props2, ..., nameN:propsN]})
obj - Об'єкт, на якому визначаються нові або змінюються існуючі властивості.
name - назва властивості.
props - Об'єкт, чиї власні перераховуються властивості являють собою дескриптори для створюваних або змінюваних властивостей. Дескриптори властивостей володіють наступними додатковими ключами:
defineProperties() статичний метод об'єкта Object який визначає визначає декілька нових або змінює існуючі властивості з вказаними параметрами.
Метод defineProperties() подібний до defineProperty() але дозволяє задати декілька властивостей одночасно.
var obj = {};
Object .defineProperties(obj , {
'property1' : {value : true, writable: true},
'property2' : {value : 3.4 , writable: false}
});
alert('property1='+obj.property1+' property2='+obj.property2);
var obj = {};
Object.defineProperties(obj, {
newDataProperty: {
value: 101,
writable: true, enumerable: true,
configurable: true},
newAccessorProperty: {
set: function(x) {
this.newaccpropvalue = x; },
get: function() {
return this.newaccpropvalue; }, enumerable: true, configurable: true
}});
obj.newAccessorProperty=5;
alert(obj.newAccessorProperty);