La méthode JavaScript Object.preventExtensions () empêche l'ajout de nouvelles propriétés à un objet.
La syntaxe de la preventExtensions()
méthode est:
Object.preventExtensions(obj)
La preventExtensions()
méthode, étant une méthode statique, est appelée en utilisant le Object
nom de la classe.
Paramètres de preventExtensions ()
La preventExtensions()
méthode prend en compte:
- obj - L'objet qui doit être rendu non extensible.
Valeur renvoyée par preventExtensions ()
- Renvoie l'objet rendu non extensible.
Remarques:
- Les propriétés d'un objet non extensible, en général, peuvent toujours être supprimées.
- Tenter d'ajouter de nouvelles propriétés à un objet non extensible échouera, soit silencieusement, soit en lançant un
TypeError
en mode strict. - Des propriétés peuvent toujours être ajoutées au prototype de l'objet non extensible.
Exemple: utilisation de preventExtensions ()
let obj = (); // by default, objects are extensible console.log(Object.isExtensible(obj)); // true let obj1 = Object.preventExtensions(obj); console.log(obj == obj1); // true -> Returns the same object console.log(Object.isExtensible(obj)); // false // TypeError: Cannot define property newProp, object is not extensible Object.defineProperty(obj, "newProp", ( value: 123456, ));
Production
true true false TypeError: impossible de définir la propriété newProp, l'objet n'est pas extensible
Lecture recommandée: JavaScript Object.isExtensible ()