Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Object.isExtensible()

概要

オブジェクトが拡張可能であるかどうか(新しいプロパティを追加する事が出来るか否か)を決定します。

構文

Object.isExtensible(obj)

引数

obj
チェックするオブジェクト

説明

オブジェクトはデフォルトでは拡張可能、つまり、新しいプロパティの追加が可能であり、(__proto__ のプロパティ __proto__ がサポートされたエンジンでは)変更することができます。オブジェクトは Object.preventExtensionsObject.sealObject.freeze の何れかを用いる事で拡張不能に設定する事が可能です。

// 新規のオブジェクトは拡張可能
var empty = {};
assert(Object.isExtensible(empty) === true);

// その設定は変える事が可能
Object.preventExtensions(empty);
assert(Object.isExtensible(empty) === false);

// seal メソッドで封印されたオブジェクトは拡張不可と定義される
var sealed = Object.seal({});
assert(Object.isExtensible(sealed) === false);

// freeze メソッドで凍結されたオブジェクトも拡張不可と定義される
var frozen = Object.freeze({});
assert(Object.isExtensible(frozen) === false);

ブラウザ実装状況

機能 Firefox (Gecko) Chrome Internet Explorer Opera Safari
基本サポート 4 (2.0) 6 9 12 5.1
機能 Firefox Mobile (Gecko) Android IE Mobile Opera Mobile Safari Mobile
基本サポート ? ? ? ? ?

Kangax's compat table に基づく。

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: teoli, ethertank
 最終更新者: teoli,