JavaScript中configurable对属性删除与修改的控制

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助手

相关推荐
Y幽谷客8 小时前
Python加载本地大模型(Qwen3.5 8B)
python·大模型
此时不提桶,更待何时8 小时前
01-04-B-垃圾回收面试与生产事故实战
java·jvm·面试
伞伞悦读8 小时前
【第36期】Python 目录与路径详解:pathlib、文件遍历、创建、复制、移动和删除风险
开发语言·python
线上放牧人9 小时前
Windows删除图标缓存
windows·python·pyqt
Hrain-AI9 小时前
多 Agent 并行不打架:worktree 隔离与反馈回流落地(附脚本)
网络·数据库·人工智能·架构
qq_5470261799 小时前
Python 变量和简单数据类型
python
净水深流9 小时前
中央厨房冷链技术实践:多温区改造、WMS落地与IoT温控架构
大数据·数据库·人工智能·冷库冷链
l1t10 小时前
测试DuckDB 2.1的match_recognize模式匹配语句
数据库·duckdb
智搜广告10 小时前
智搜广告:科技行业AI回答优化公司如何破局
大数据·python·elasticsearch·geo
IpdataCloud11 小时前
AI智能体调用工具怎么核验来源IP?归属地、网络类型与代理风险识别(含Python代码)
数据库·python·tcp/ip