说说你对 Object.definePropety()的理解?

1.字面意思:

        Object : 对象

        define : 定义

        Property : 属性(对象的key)

2.Object.defineProperty()语法说明

        Object.defineProperty方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。

3.基本参数(三个参数)

Object.defineProperty(obj, prop, descriptor)
        obj:要定义属性的对象。

        prop: 要定义或修改的属性的名称。

        descriptor:要定义或修改的属性描述符。

返回值

        要被传递给函数的对象

Object.defineProperty() 方法接受三个参数:要定义或修改属性的对象,属性名称和一个属性描述符对象。属性描述符对象包含以下可选的属性:

  1. value:属性的值。
  2. writable:属性是否可写,默认为 false。
  3. enumerable:属性是否可枚举,默认为 false。
  4. configurable:属性是否可配置,默认为 false。
  5. get:获取属性值的函数。
  6. set:设置属性值的函数。

使用 Object.defineProperty() 方法可以实现以下功能:

  1. 定义新属性:通过设置 value 属性来定义新属性的值。
  2. 修改属性特性:可以修改属性的可写性、可枚举性和可配置性。
  3. 访问器属性:通过设置 get 和 set 属性来创建访问器属性,即通过函数进行属性的读取和设置操作。

使用场景:

        实现数据绑定
        隐藏或保护某些属性
        提供getter和setter控制属性访问
        精细控制对象属性的特性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值