Object.defineProperty()属性

Object.defineProperty(obj, prop, descriptor)
  • 1 obj:必需。目标对象
  • 2 prop:必需。需定义或修改的属性的名字
  • 3 descriptor:必需。目标属性所拥有的特性

属性

configurable、enumerable、writable这些值都为默认的false

1.value

  • 属性对应的值,可以使任意类型的值,默认为undefined

2. writable

  • 属性的值是否可以被重写。设置为true可以被重写;设置为false,不能被重写。默认为false。
  • 想要让子类不要覆盖同名的父类属性,可以设置属性值为不可写。

3.enumerable

  • 此属性是否可以被枚举(使用for...in或Object.keys())。设置为true可以被枚举;设置为false,不能被枚举。默认为false。
  • 当不想在for in中或Object.keys()遍历到某个属性,设置其enumerable为false

4. configurable

  • 是否可以删除目标属性或是否可以再次修改属性的特性(writable, configurable, enumerable)。设置为true可以被删除或可以重新设置特性;设置为false,不能被可以被删除或不可以重新设置特性。默认为false。
    1. 目标属性是否可以使用delete删除
delete obj.newKey;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容