Object.defineProperty()
JavaScript Object.defineProperty()方法
Object.defineProperty()方法直接在对象上定义了一个新属性,并返回了该对象。要更改标志,我们可以使用Object.defineProperty。我们无法将其改回,因为define属性不适用于不可配置的属性。
语法:
Object.defineProperty(obj, prop, descriptor)
参数
obj:要在其上定义属性的对象。
prop :要定义或修改的属性的名称。
descriptor:要定义或修改的属性的描述符。
返回值:
此方法返回传递给该函数的对象。
浏览器支持:
Chrome |
是 |
Edge |
是 |
Firefox |
1.5 |
Opera |
是 |
示例1
const object1 = {};
Object.defineProperty(object1, 'property1', {
value: 22, } );
object1.property1;
// throws an error in strict mode
console.log(object1.property1);
输出:
示例2
const object1 = {};
Object.defineProperty(object1, 'property1', {
value: 42,
value: 52,
value: 542,
});
object1.property1 = 177;
// throws an error in strict mode
console.log(object1.property1);
输出:
示例3
const object1 = {};
Object.defineProperty(object1, 'property1', {
value: 2,
value: 4,
value: 4+13,
});
object1.property1 ;
console.log(object1.property1);
输出: