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

如何用 writable 属性描述符限制 JavaScript 对象属性修改

writable属性描述符控制对象属性值是否可被重新赋值,需通过Object.defineProperty()设置;设为false后属性值锁定,赋值操作静默失败或抛TypeError,且不可逆除非configurable为true。用 writable 属性描述符可以控制对象属性值是否可被重新赋值。它属于数据属性描述符,必须配合 Object.defineProperty() 或 Object.defineProperties() 使用,直接在字面量中声明的对象属性无法设置该描述符。设置 writable: false 后属性不可修改当 writable 设为 false,该属性的值将被锁定,后续任何直接赋值操作都会静默失败(非严格模式)或抛出 TypeError(严格模式)。即使属性存在且可访问,也不能通过 obj.prop = newValue 更改其值 不会影响属性是否可删除(由 configurable 控制),也不会影响是否可枚举(由 enumerable 控制) 例如:注意:不能用 obj.x = 2 覆盖,但 console.log(obj.x) 仍能读到原始值与 const 声明的区别writable: false 限制的是**对象某个属性的赋值行为**,而 const 声明限制的是**变量绑定不可重新赋值**。两者作用层级不同:const obj = { x: 1 }; obj.x = 2; —— 允许,因为 obj 的属性默认是可写的 Object.defineProperty(obj, 'x', { value: 1, writable: false }); obj.x = 2; —— 不允许,触发写保护 const obj = Object.freeze({ x: 1 }); —— 等价于对所有自有属性设 writable: false + configurable: false修改 writable 需要 configurable: true一旦属性的 writable 设为 false,就无法再通过 defineProperty 改回 true,除非同时满足 configurable: true。 Mokker AI AI产品图添加背景

http://www.jsqmd.com/news/647674/

相关文章:

  • mysql数据库日志文件过大如何清理_定期备份与重置日志文件
  • 番茄小说下载器:构建个人数字图书馆的三大核心方案
  • 品牌设计外包,这些公司让你不踩坑
  • 服务器安装 mysql8.0 远程客户端连接失败问题复盘
  • Go语言的context.WithCancel资源协调
  • Exness:极端地缘风险背景下数字资产市场的结构性转变
  • 软件追踪管理化的流程监控与审计
  • ai智能电话机器人,自动筛选精准意向客户
  • 当数据贡献者成为牺牲品:如何平衡AI时代的利益格局
  • 阿C学嵌入式---C语言入门---函数
  • 运维人破局指南|告别背锅运维,转行网络安全,薪资直接翻番(零弯路路径)
  • 基于 Spring Boot + Vue 的宠物健康管理与社交分享系统
  • Langflow:这个拖拽式AI工作流神器正在颠覆传统编程
  • Matlab新手必看:你的‘函数未定义’报错,90%是因为没搞懂‘当前文件夹’和‘搜索路径’
  • 低空导航AI计算单元功率MOSFET选型方案:高效可靠电源与接口驱动系统适配指南
  • 图表即实力|虎贲等考 AI 科研绘图:让学术可视化告别熬夜,直达期刊标准
  • 品牌设计没头绪?厂家帮你搞定!
  • 未来5年最“钱”景岗位!AI产品经理3步速成,别再观望!
  • Addressables增量更新全攻略:从Static资源分组到动态标签检测的完整工作流
  • 如何通过Vagrant快速建库_自动化虚拟机Oracle部署方案
  • 个人小记录
  • 零基础复盘:从命令行运行 Python 文件失败到成功,我踩过的 5 个坑
  • 开发者必读:批判性思维的7个训练法
  • MOS管体二极管与寄生二极管的特性及实际应用解析
  • AUTOSAR从入门到精通-【自动驾驶】自动驾驶激光雷达点云畸变的成因与解决方案
  • 2025-2026年国际美白防晒霜品牌推荐:TOP10口碑产品评测对比领先敏感肌温和不刺激泛红 - 品牌推荐
  • 2025-2026年美白防晒霜品牌推荐:十款口碑产品评测对比领先户外运动防水防汗 - 品牌推荐
  • AI地铁轻轨门控系统功率MOSFET选型方案——高可靠、快速响应与长寿命驱动系统设计指南
  • 2026届必备的AI学术工具实测分析
  • Cesium Terrain Builder深度解析:构建专业级3D地形服务的完整方案