十分钟理解Object.defineProperty()

一、对象的定义、赋值

 经常使用的定义与赋值的方法:obj.prop = value obj['prop'] = value

let Person = {};
Person.name = "Jack";
Person["gender"] = "female";
console.log(Person.name); // Jack
console.log(Person.gender); // female
console.log(Person); // {name: 'Jack', gender: 'female'}

二、Object.defineProperty()语法说明

Object.defineProperty()的作用是在一个对象上定义一个新属性修改一个已经存在的属性

Object.defineProperty(obj, prop, desc)
  1. obj 需要定义属性的当前对象
  2. prop 当前需要定义的属性名
  3. desc 属性描述符

三、属性描述符

通过Object.defineProperty()为对象定义属性,有两种形式:数据描述符存取描述符。 且不能混合使用。

1. 数据描述符 --特有的两个属性(value,writable)

注意:当使用了writable和value属性,不允许使用getter或setter这两个方法

链接

猜你喜欢

转载自blog.csdn.net/qq_52421092/article/details/130184000