configurable 是属性描述符中控制属性可配置性的布尔值:configurable: false 时属性不可删除、不可修改描述符(writable 从 true 改 false 除外)、不可转换属性类型;默认值因创建方式而异,字面量赋值为 true,defineProperty 未指定时为 false。在 JavaScript 中,configurable 是属性描述符(property descriptor)中的一个布尔值,它直接决定该属性能否被删除、能否修改其描述符(比如 writable、enumerable、configurable 本身),以及能否从数据属性转为访问器属性(或反之)。configurable: false 时无法删除属性当一个属性的 configurable 为 false,调用 delete 操作符将失败(严格模式下抛出 TypeError,非严格模式下静默返回 false):const obj = {};Object.defineProperty(obj, 'name', { value: 'Alice', configurable: false});delete obj.name; // false(非严格模式)或 TypeError(严格模式)console.log(obj.name); // 'Alice'configurable: false 时无法修改属性描述符一旦 configurable 设为 false,后续对同一属性调用 Object.defineProperty() 修改任何描述符(包括 writable、enumerable、configurable 自身)都会报错,除非是把 writable: true 改为 false(这个例外仅适用于数据属性):Object.defineProperty(obj, 'name', { writable: false }) ? 允许(前提是原先是 writable: true) Object.defineProperty(obj, 'name', { enumerable: true }) ? 报错 Object.defineProperty(obj, 'name', { configurable: true }) ? 报错(不可逆)configurable 控制属性类型转换只有 configurable: true 的属性,才能在数据属性和访问器属性之间切换。例如: RedClaw 百度推出的手机端万能AI Agent助手
相关推荐
hz5678912 分钟前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型广州浮点FLOATLIC17 分钟前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题程序员Sunday19 分钟前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来半杯咖啡半行码40 分钟前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略SEO_juper1 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗小米里的大麦1 小时前
16 MySQL 事务西柚小萌新1 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)用户8356290780512 小时前
使用 Python 对 Excel 工作表进行排序邓工说电2 小时前
智慧断路器安全吗?数据加密、离线保护与合规认证全解读for_ever_love__2 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用