[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible [Back]  [Original]

Object : mthode statique isExtensible() - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

Object : mthode statique isExtensible()

Baseline
Large disponibilit

Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La mthode statique Object.isExtensible() dtermine si un objet est extensible (c'est--dire s'il peut avoir de nouvelles proprits ajoutes).

Dans cet article

Exemple interactif

const object = {};

console.log(Object.isExtensible(object));
// Rsultat attendu : true

Object.preventExtensions(object);

console.log(Object.isExtensible(object));
// Rsultat attendu : false

Syntaxe

js
Object.isExtensible(obj)

Paramtres

obj

L'objet dont on souhaite vrifier s'il est extensible.

Valeur de retour

Un boolen (Boolean) qui indique si oui ou non l'objet pass en argument peut tre tendu.

Description

Les objets sont extensibles par dfaut : on peut leur ajouter de nouvelles proprits, et leur [[Prototype]] peut tre rassign. Un objet peut tre marqu comme non-extensible en utilisant l'une des mthodes Object.preventExtensions(), Object.seal(), Object.freeze(), ou Reflect.preventExtensions().

Exemples

Utiliser Object.isExtensible()

js
// Les nouveaux objets sont extensibles.
const vide = {};
Object.isExtensible(vide); // true

// Ils peuvent tre rendus non-extensibles.
Object.preventExtensions(vide);
Object.isExtensible(vide); // false

// Les objets scells sont, par dfinition, non-extensibles.
const scelle = Object.seal({});
Object.isExtensible(scelle); // false

// Les objets gels sont galement, par dfinition, non-extensibles.
const gele = Object.freeze({});
Object.isExtensible(gele); // false

Argument d'une valeur primitive

Dans ES5, si l'argument pass cette mthode n'est pas un objet (un primitif), cela entrane une exception TypeError. Dans ES2015, elle retourne false sans aucune erreur si un argument non-objet est pass, puisque les primitifs sont, par dfinition, immuables.

js
Object.isExtensible(1);
// TypeError: 1 n'est pas un objet (code ES5)

Object.isExtensible(1);
// false                           (code ES2015)

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-object.isextensible

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page