面试题答案
一键面试- 使用
Object.isExtensible()
方法:Object.isExtensible()
方法判断一个对象是否是可扩展的(是否可以在它上面添加新的属性)。- 代码示例:
let obj1 = {}; console.log(Object.isExtensible(obj1)); // true Object.preventExtensions(obj1); console.log(Object.isExtensible(obj1)); // false
- 通过尝试添加属性并检查是否成功:
- 尝试在对象上添加新属性,然后通过检查该属性是否存在来判断对象是否可扩展。如果对象不可扩展,添加属性操作将失败(严格模式下会抛出错误)。
- 代码示例:
'use strict'; let obj2 = {}; let canAdd = true; try { Object.preventExtensions(obj2); obj2.newProp = 'test'; } catch (e) { canAdd = false; } console.log(canAdd? '对象可扩展' : '对象不可扩展');