Object.defineProperty
函数会直接在一个对象上定义一个新的属性,或者修改一个对象的现有属性,并返回此对象。
一、简单使用
const obj = {
}
Object.defineProperty(obj, "name", {
value: "dmc"
})
console.log(obj.name) //dmc
语法:
Object.defineProperty(obj, prop, descriptor)
参数:
obj:
需要定义的对象
prop:
要定义或者修改的属性名称或者Symbol
descriptor:
要定义或修改的属性修饰符。
返回值
:被传递给函数的对象。
其中descriptor
中可以传入对象,其中可以包含多个属性值。
1、configurable
当且仅当该属性为true时,该属性的属性描述符才能被改变,同时该属性也能从对应的对象上删除。默认为false。
2、enumerable
当且仅当该属性的enumerable
键值为true
时,该属性才会出