js中对象的方法(API)
Object.defineProperty() 方法
MDN:会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。
Object.defineProperty(obj, prop, descriptor),这里的三个形参分别对应对象、对象的属性、属性描述 ,而最后的属性描述属于是一个对象类型{ value:‘属性值’,writable:‘true或false’},参数1为属性值、参数二是声明后面是否支持修改属性值,默认不可修改(writable:false)
第一次探索使用:
特点:可以为对象添加新的属性并赋值,并且设置对象属性是否后面支持修改。
【第一种】默认情况下,使用 Object.defineProperty() 添加的属性值时,后续是不可修改(immutable)的。
因为descriptor对象里并未给tritable赋值,所以会使用tritable的默认值false,就是后续这个属性的值不能被其他方式进行改变!
【第二种】使用 Object.defineProperty() 为对象属性添加值时,若想后续允许修改,则在descriptor对象中将tritable赋值true即可!
第二次探索使用