Javascript Object.preventExtensions ()

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 Objectnome 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 TypeErrorno 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 ()

Artigos interessantes...