mozilla
Your Search Results

    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 に基づく。

    関連情報

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

    Contributors to this page: teoli, ethertank
    最終更新者: teoli,