mozilla
Vos résultats de recherche

    Object.isExtensible()

    Résumé

    La méthode Object.isExtensible() permet de déterminer si un objet est extensible (c'est-à-dire qu'on peut lui ajouter de nouvelles propriétés).

    Syntaxe

    Object.isExtensible(obj)

    Paramètres

    obj
    L'objet dont on souhaite vérifier s'il est extensible.

    Description

    Par défaut, les objets sont extensibles, on peut leur ajouter de nouvelles propriétés (et pour les moteurs qui supportent __proto__ , leur propriété __proto__ peut être modifiée). Un objet peut devenir non-extensible en utilisant les méthodes Object.preventExtensions(), Object.seal(), ou Object.freeze().

    Exemples

    // Les nouveaux objets sont extensibles.
    var vide = {};
    assert(Object.isExtensible(vide) === true);
    
    // ...mais on peut les rendre non-extensibles.
    Object.preventExtensions(vide);
    assert(Object.isExtensible(vide) === false);
    
    // Les objets scellés sont, par définition, non-extensibles.
    var scellé = Object.seal({});
    assert(Object.isExtensible(scellé) === false);
    
    // Les objets gelés sont également, par définition, non-extensibles.
    var gelé = Object.freeze({});
    assert(Object.isExtensible(gelé) === false);
    

    Notes

    Pour ES5, si l'argument passé à la méthode n'est pas un objet mais une valeur d'un autre type primitif, cela entraînera une exception TypeError. Pour ES6, un argument qui n'est pas un objet sera traité comme un objet ordinaire non-extensible, la méthode renverra false.

    > Object.isExtensible(1)
    TypeError: 1 n'est pas un objet // code ES5
    
    > Object.isExtensible(1)
    false                           // code ES6
    

    Spécifications

    Spécification Statut Commentaires
    ECMAScript 5.1 (ECMA-262)
    La définition de 'Object.isExtensible' dans cette spécification.
    Standard Définition initiale. Implémentée avec JavaScript 1.8.5.
    ECMAScript 6 (ECMA-262)
    La définition de 'Object.isExtensible' dans cette spécification.
    Draft  

    Compatibilité des navigateurs

    Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Support simple 6 4.0 (2.0) 9 12 5.1
    Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Support simple ? ? ? ? ? ?

    Tableau basé sur le tableau de compatibilité de Kangax.

    Voir aussi

    Étiquettes et contributeurs liés au document

    Contributors to this page: SphinxKnight
    Dernière mise à jour par : SphinxKnight,