この翻訳は不完全です。英語から この記事を翻訳 してください。

静的な Reflect.isExtensible() メソッドは 、オブジェクトを拡張できるかを測定します(オブジェクトに追加された新しいプロパティを持てるかどうか)。これは Object.isExtensible() に似ていますが、いくつかの 違いがあります

構文

Reflect.isExtensible(target)

パラメータ

target
拡張できるかどうかをチェックする対象のオブジェクト。

戻り値

target が拡張可能かどうかを示す Boolean 値。

スローされる例外

target が Object ではなかった場合、 TypeError がスローされる。

説明

Reflect.isExtensible メソッドは 、オブジェクトを拡張できるかを測定します(オブジェクトに追加された新しいプロパティを持てるかどうか)。これは Object.isExtensible() と同じメソッドです。

Reflect.isExtensible() を使用する

Object.isExtensible() も見てください。

// 今オブジェクトは拡張可能。 
var empty = {};
Reflect.isExtensible(empty); // === true 

// ...しかし、変更できます 
Reflect.preventExtensions(empty); 
Reflect.isExtensible(empty); // === false 

// シールドオブジェクトは拡張できないように定義される。 
var sealed = Object.seal({}); 
Reflect.isExtensible(sealed); // === false 

// フローズンオブジェクトも拡張できないように定義される。 
var frozen = Object.freeze({}); 
Reflect.isExtensible(frozen); // === false

Object.isExtensible() との違い

このメソッドへの最初の引数がオブジェクトではなかった場合(プリミティブ)、これは TypeError を引き起こします。Object.isExtensible() だと、オブジェクトではない最初の引数はオブジェクトに強制的に変換されます。

Reflect.isExtensible(1);
// TypeError: 1 はオブジェクトではない

Object.isExtensible(1);
// false

仕様

仕様 状態 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
Reflect.isExtensible の定義
標準 Initial definition.

ブラウザ実装状況

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 未サポート 42 (42) 未サポート 未サポート 未サポート
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 未サポート 未サポート 42.0 (42) 未サポート 未サポート 未サポート

関連項目

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

このページの貢献者: SphinxKnight, YuichiNukiyama
最終更新者: SphinxKnight,