当前位置: 首页 > news >正文

Object.defineProperty()详解

Object.defineProperty() 是 JavaScript 中用于直接在对象上定义新属性或修改现有属性的核心方法,它提供了对属性行为的精细控制(如可枚举性、可写性等)。以下是详细说明:


一、基本语法

Object.defineProperty(obj, prop, descriptor)
  • obj: 目标对象
  • prop: 要定义或修改的属性名(String 或 Symbol)
  • descriptor: 属性描述符对象(核心配置)

二、属性描述符(descriptor)

描述符分为两类:数据描述符存取描述符,二者不能混用。

1. 数据描述符(直接操作值)
  • value: 属性值(默认 undefined
  • writable: 是否可修改(默认 false
  • enumerable: 是否可枚举(如出现在 for...in 循环中,默认 false
  • configurable: 是否可修改描述符或删除属性(默认 false
2. 存取描述符(通过 getter/setter 控制)
  • get(): 获取属性值时调用的函数(默认 undefined
  • set(newValue): 设置属性值时调用的函数(默认 undefined
  • enumerableconfigurable(同上)

⚠️ 注意:若同时使用 value/writableget/set 会抛出错误。


三、使用示例

1. 基础属性定义
const obj = {};
Object.defineProperty

相关文章:

  • 智谱的AI Agent :CoCo
  • 快速了解JVM的GC历史
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice实现word 文档中的table插入新行并赋值
  • 文件加密软件推荐,2025文档加密系统的最新排名
  • EtherCAT至TCP/IP异构网络互联:施耐德M580 PLC对接倍福CX5140解决方案
  • HTML原生日期插件增加周次显示
  • 审计效率升级!Word一键批量给数字添加千位分隔符
  • 科技评论:Jim Keller 的“反向”战略:RISC-V 成为中国应对美国芯片封锁的关键武器
  • AnythingLLM配置Milvus后,上传文档提示向量数据库标识符错误的解决办法
  • Google reCAPTCHA实现
  • milvus 总结
  • Electron-vite【实战】MD 编辑器 -- 编辑区(含工具条、自定义右键快捷菜单、快捷键编辑、拖拽打开文件等)
  • 微服务架构中的 Kafka:异步通信与服务解耦(二)
  • 0611的
  • Intel Boot Guard
  • RAG的5种高效切分策略:提升检索增强生成效果的关键
  • Linux进程管理:创建,终止,等待
  • Linux611 libvirtb ;FTP vsftpd.conf部分配置文件
  • C#简单线程启动的几种方法总结
  • npm包 本地测试流程
  • 软件开发是用什么软件/阜平网站seo
  • 旅游网站建设规划书主题/谷歌搜索关键词排名
  • 网站建设与管理学的是什么/班级优化大师app下载
  • 海外公司网站 国内做备案/平台开发
  • 网页设计图片怎么换/站长seo
  • 网站制作的基础/搜狗站长平台验证不了