--- title: Reflect.isExtensible() slug: Web/JavaScript/Reference/Global_Objects/Reflect/isExtensible tags: - ECMAScript 2015 - JavaScript - Method - Reference - Reflect translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/isExtensible ---
静的な Reflect.isExtensible()
メソッドは 、オブジェクトを拡張できるかを測定します (オブジェクトに追加された新しいプロパティを持てるかどうか)。これは {{jsxref("Object.isExtensible()")}} に似ていますが、いくつかの違いがあります。
Reflect.isExtensible(target)
target
対象が拡張可能かどうかを示す {{jsxref("Boolean")}} 値。
{{jsxref("TypeError")}}: target
が {{jsxref("Object")}} ではなかった場合。
Reflect.isExtensible
メソッドは 、オブジェクトを拡張できるかを測定します(オブジェクトに追加された新しいプロパティを持てるかどうか)。これは {{jsxref("Object.isExtensible()")}} と同じメソッドです。
{{jsxref("Object.isExtensible()")}} も見てください。
// 今オブジェクトは拡張可能。 let empty = {} Reflect.isExtensible(empty) // === true // ...しかし、変更できます Reflect.preventExtensions(empty) Reflect.isExtensible(empty) // === false // シールドオブジェクトは拡張できないように定義される。 let sealed = Object.seal({}) Reflect.isExtensible(sealed) // === false // フローズンオブジェクトも拡張できないように定義される。 let frozen = Object.freeze({}) Reflect.isExtensible(frozen) // === false
このメソッドへの最初の引数がオブジェクトではなかった (プリミティブであった) 場合、これは {{jsxref("TypeError")}} を引き起こします。{{jsxref("Object.isExtensible()")}} だと、オブジェクトではない最初の引数はオブジェクトに強制的に変換されます。
Reflect.isExtensible(1) // TypeError: 1 はオブジェクトではない Object.isExtensible(1) // false
仕様書 |
---|
{{SpecName('ESDraft', '#sec-reflect.isextensible', 'Reflect.isExtensible')}} |
{{Compat("javascript.builtins.Reflect.isExtensible")}}