概述

Object.isExtensible() 方法判断一个对象是否是可扩展的(是否可以在它上面添加新的属性)。

语法

Object.isExtensible(obj)

参数

obj
需要检测的对象

返回值

表示给定对象是否可扩展的一个Boolean

描述

默认情况下,对象是可扩展的:即可以为他们添加新的属性。以及它们的 proto 属性可以被更改。Object.preventExtensionsObject.sealObject.freeze 方法都可以标记一个对象为不可扩展(non-extensible)。

DEMO

  1. // 新对象默认是可扩展的.
  2. var empty = {};
  3. Object.isExtensible(empty); // === true
  4. // ...可以变的不可扩展.
  5. Object.preventExtensions(empty);
  6. Object.isExtensible(empty); // === false
  7. // 密封对象是不可扩展的.
  8. var sealed = Object.seal({});
  9. Object.isExtensible(sealed); // === false
  10. // 冻结对象也是不可扩展.
  11. var frozen = Object.freeze({});
  12. Object.isExtensible(frozen); // === false