标签:prope 参数 顺序 object 定义 方法 undefined 删除 size
Object.defineProperty() 方法会直接在一个对象上 定义/修改 一个 新属性/现有属性(不在原型链,属于自身属性),并返回此对象
3个参数:Object.defineProperty(
这些属性可以通过 delete 删除
数据描述符(其与存储描述符是互斥的,不能同时存在)
value :该属性对应的值。可以是任何有效的 JavaScript 值(数值,对象,函数等)
默认为 undefined
writable 类型:boolean,value是否可更改。 默认为 false
默认为 false
存储描述符(get 、set)
get 当访问该属性时,会调用此函数,执行时不传入任何参数,但是会传入 this 对象,但如果当前对象没有该属性, this会沿着原型链指向相应的父级对象的属性
默认为 undefined, 但是可以访问原型链 Object(或者继承的其它父级) 的 get 属性,返回值时
set 将值赋予属性,并传入绑定到赋值时的 this 对象
默认为 undefined , 同上
通用描述符(configurable 、enumerable)
configurable 为 true 时,该属性的描述符才能够被改变,同时该属性也能从对应的对象上被删除
默认为 false
configurable :false,按以下顺序进行判断
set 将值赋予属性,并传入绑定到赋值时的 this 对象
默认为 undefined , 同上
Object.defineProperty()(响应式) 详解
标签:prope 参数 顺序 object 定义 方法 undefined 删除 size
原文地址:https://www.cnblogs.com/lhx9527/p/14252583.html