1.字面意思:
Object : 对象
define : 定义
Property : 属性(对象的key)
2.Object.defineProperty()语法说明
Object.defineProperty方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。
3.基本参数(三个参数)
Object.defineProperty(obj, prop, descriptor)
obj:要定义属性的对象。
prop: 要定义或修改的属性的名称。
descriptor:要定义或修改的属性描述符。
返回值
要被传递给函数的对象
Object.defineProperty() 方法接受三个参数:要定义或修改属性的对象,属性名称和一个属性描述符对象。属性描述符对象包含以下可选的属性:
- value:属性的值。
- writable:属性是否可写,默认为 false。
- enumerable:属性是否可枚举,默认为 false。
- configurable:属性是否可配置,默认为 false。
- get:获取属性值的函数。
- set:设置属性值的函数。
使用 Object.defineProperty() 方法可以实现以下功能:
- 定义新属性:通过设置 value 属性来定义新属性的值。
- 修改属性特性:可以修改属性的可写性、可枚举性和可配置性。
- 访问器属性:通过设置 get 和 set 属性来创建访问器属性,即通过函数进行属性的读取和设置操作。
使用场景:
实现数据绑定
隐藏或保护某些属性
提供getter和setter控制属性访问
精细控制对象属性的特性