JavaScript对象的属性描述符介绍

avatar
作者
猴君
阅读量:0

JavaScript对象的属性描述符是用来描述对象属性特性的对象。每个对象属性都有一组特性,包括:可写性(writable),可枚举性(enumerable),可配置性(configurable)和值(value)。

属性描述符有两种类型:数据描述符和访问器描述符。

  1. 数据描述符:

    • value:属性的值。
    • writable:属性的值是否可写入(true/false)。
    • enumerable:属性是否可枚举(true/false),即是否可通过for…in循环遍历。
    • configurable:属性是否可配置(true/false),即是否可通过delete删除或修改特性。
  2. 访问器描述符:

    • get:属性的 getter 函数,获取属性值时调用。
    • set:属性的 setter 函数,设置属性值时调用。
    • enumerable:属性是否可枚举。
    • configurable:属性是否可配置。

可以通过Object.getOwnPropertyDescriptor(obj, prop)方法获取属性描述符。例如:

const obj = {   name: 'John',   age: 25 };  const descriptor = Object.getOwnPropertyDescriptor(obj, 'name'); console.log(descriptor); 

输出结果为:

{   value: 'John',   writable: true,   enumerable: true,   configurable: true } 

这个例子展示了如何获取对象属性的描述符。可以看到,name属性是可写入、可枚举和可配置的。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!