O método JavaScript Object.preventExtensions () evita que novas propriedades sejam adicionadas a um objeto.
A sintaxe do preventExtensions()
método é:
Object.preventExtensions(obj)
O preventExtensions()
método, sendo um método estático, é chamado usando o Object
nome da classe.
Parâmetros preventExtensions ()
O preventExtensions()
método inclui:
- obj - O objeto que deve ser tornado não extensível.
Valor de retorno de preventExtensions ()
- Retorna o objeto que está sendo tornado não extensível.
Notas:
- As propriedades de um objeto não extensível, em geral, ainda podem ser excluídas.
- A tentativa de adicionar novas propriedades a um objeto não extensível irá falhar, seja silenciosamente ou lançando um
TypeError
no modo estrito. - As propriedades ainda podem ser adicionadas ao protótipo do objeto não extensível.
Exemplo: usando 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, ));
Resultado
true true false TypeError: Não é possível definir a propriedade newProp, o objeto não é extensível
Leitura recomendada: JavaScript Object.isExtensible ()