无涯教程-Object.defineProperty()函数

44 阅读1分钟

Object.defineProperty()方法直接在对象上定义一个新属性,并返回该对象。要更改标志,我们可以使用Object.defineProperty。我们不能将其改回,因为define属性对不可配置的属性无效。

语法

Object.defineProperty(obj, prop, descriptor)

参数

obj     -  要在其上定义属性的对象。

prop  -  要定义或修改的属性的名称。

descriptor  - 正在定义或修改的属性的描述符。

返回

此方法返回传递给函数的对象。

浏览器支持

Chrome yes
Edge yes
Firefox 1.5
Opera yes

例子1

const object1 = {};
Object.defineProperty(object1, property1, {
  value: 22, } );
  object1.property1;
   //throws an error in strict mode
console.log(object1.property1);

输出:

22

例子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);

输出:

542

例子3

const object1 = {};
Object.defineProperty(object1, property1, {
  
  value: 2,
  value: 4,
  value: 4+13,
  });
object1.property1 ;
console.log(object1.property1);

输出:

17

参考链接

www.learnfk.com/javascript/…