JavaScript Object.defineProperty
示例
它允许我们使用属性描述符在现有对象中定义属性。
var obj = { };
Object.defineProperty(obj, 'foo', { value: 'foo' });
console.log(obj.foo);控制台输出
富
Object.defineProperty可以使用以下选项来调用:
Object.defineProperty(obj, 'nameOfTheProperty', {
value: valueOfTheProperty,
writable: true, //如果为false,则该属性为只读
configurable : true, //true表示该属性可以在以后更改
enumerable : true //true表示可以枚举属性,例如在for..in循环中
});Object.defineProperties允许您一次定义多个属性。
var obj = {};
Object.defineProperties(obj, {
property1: {
value: true,
writable: true
},
property2: {
value: 'Hello',
writable: false
}
});