📜  Javascript Object.defineProperties()

📅  最后修改于: 2020-09-27 06:43:22             🧑  作者: Mango

JavaScript Object.defineProperties()方法添加或修改对象的属性,然后返回对象。

defineProperties()方法的语法为:

Object.defineProperties(obj, props)

使用Object类名称调用作为静态方法的defineProperties()方法。


defineProperties()参数

defineProperties()方法采用:

  1. obj-在其上定义或修改属性的对象。
  2. props-一个对象,其键表示要定义或修改的属性的名称,其值是描述这些属性的对象。
    每个属性值必须是数据描述符或访问器描述符。它们可以具有以下可选属性。
    1. configurable
    2. enumerable

    数据描述符也可以具有:

    1. value
    2. writable

    访问器描述符也可以具有:

    1. get

从defineProperties()返回值
  • 返回传递给函数的对象。

注意:如果描述符不具有valuewritablegetset键,则将其视为数据描述符。如果描述符同时具有valuewritable以及getset键,则将引发异常。


示例:使用Object.defineProperties()
let obj = {};
Object.defineProperties(obj, {
  property1: {
    value: true,
    writable: true,
  },
  property2: {
    value: "Hello",
    writable: false,
  },
});

console.log(obj); // {property1: true, property2: "Hello"}

输出

{property1: true, property2: "Hello"}

推荐阅读: Javascript对象defineProperty()