configurable 是属性描述符中控制属性可配置性的布尔值configurable: false 时属性不可删除、不可修改描述符writable 从 true 改 false 除外、不可转换属性类型默认值因创建方式而异字面量赋值为 truedefineProperty 未指定时为 false。在 JavaScript 中configurable 是属性描述符property descriptor中的一个布尔值它直接决定该属性能否被删除、能否修改其描述符比如 writable、enumerable、configurable 本身以及能否从数据属性转为访问器属性或反之。configurable: false 时无法删除属性当一个属性的 configurable 为 false调用 delete 操作符将失败严格模式下抛出 TypeError非严格模式下静默返回 falseconst obj {};Object.defineProperty(obj, name, { value: Alice, configurable: false});delete obj.name; // false非严格模式或 TypeError严格模式console.log(obj.name); // Aliceconfigurable: 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助手