Object.defineProperty 相关学习

本文详细讲解了Object.defineProperty方法,该方法允许在对象上定义新属性或修改现有属性,并精确控制属性的行为,包括是否可枚举、可配置及可写。同时介绍了如何使用getter和setter方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Object.defineProperty 学习
 
  • 描述:
    • 方法直接在对象上定义一个新属性,或修改对象上的现有属性
    • 并返回该对象。该方法允许精确地添加或修改对象上的属性;
    • 语法:
      • Object.defineProperty(obj, prop, descriptor)
        • obj
          必需。目标对象 
        • prop
          定义或者修改的属性名称
        • descriptor
          对要定义或者修改的属性的描述
  • descriptor 目标属性所拥有的特性配置项
    • configurable:true | false,
      • 是否可以删除目标属性或是否可以再次修改属性的特性(writable, configurable, enumerable)。
      • 设置为true可以被删除或可以重新设置特性;
      • 设置为false,不能被可以被删除或不可以重新设置特性。
      • 默认为false。
    • enumerable:true | false,
      • 此属性是否可以被枚举(使用for...in或Object.keys())。
      • 设置为true可以被枚举;
      • 设置为false,不能被枚举。
      • 默认为false。
    • value:任意类型的值,
      • 属性对应的值,可以使任意类型的值,
      • 默认为undefined
    • writable:true | false
      • 属性的值是否可以被重写。
      • 设置为true可以被重写;
      • 设置为false,不能被重写。
      • 默认为false。
    • 存储器描述
      • 注意:
        • 1. 当使用了getter或setter方法,不允许使用writable和value这两个属性
        • 2. get或set不是必须成对出现,任写其一就可以。如果不设置方法,则get和set的默认值为undefined
      • set :function (value){} | undefined
        • 是一种设置属性值的方法
        • 当设置值的时候触发的函数,设置的新值通过参数value拿到
      • get :function (){} | undefined
        • 当获取值的时候触发的函数
        • 通过返回值设置

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 

转载于:https://www.cnblogs.com/QQ-Monarch/p/7693050.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值