标签:config 定义 没有 访问 原型 getter script 赋值运算 枚举
Object.defineProperty(obj, prop, descriptor)方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。
const freezeObj = Object.freeze(obj), Object.freeze()方法可以冻结一个对象,冻结后,不能对象freezeObj添加新的属性,不能修改其已有属性的值,不能删除已有的属性,以及不能修改改对象已有属性的可枚举性、可配置性、可写性。
descriptor:
configurable 可配置性,当且仅当该属性为true时,该属性的描述符才能被改变,同时该属性也能被删除,默认为 true。
enumerable 当且仅当该属性为true时,该属性才能出现在对象的枚举遍历中。 (for in) , object.keys()。object.keys(obj)会返回一个有给定对象的自身可枚举属性的属性名组成的数组,数组中名的排列顺序和使用 for .... in 循环遍历该对象时返回的顺序一致。
value 值
writable 当且仅当为true时,才能被赋值运算符改变。
get 一个给属性提供getter的方法,如果没有则 getter 为undefined,当访问该属性时该方法会被执行,方法执行时没有参数传入,但会传入this对象。
set 一个给属性提供setter的方法,如果没有则setter为undefined,当该属性修改时会触发该方法,参数为新的value.。
定义 get 和 set 可以对 对象的属性操作进行监听。get ,set 不能与 writable ,value同时定义,数据描述符不能与存取描述符冲突,有些对象上的属性是原型链上继承来的属性。
标签:config 定义 没有 访问 原型 getter script 赋值运算 枚举
原文地址:https://www.cnblogs.com/wust-hy/p/11181798.html