Javascript Eliminar: Como Remover Propriedade de Objecto em JS

O objectivo do operador de apagar em Javascript, como se poderia pensar, é apagar coisas. Mais especificamente, irá apagar propriedades de objectos. O operador de apagar é concebido para ser utilizado nas propriedades do objecto. Não afecta variáveis ou funções.

Após a eliminação, a propriedade não pode ser utilizada antes de a voltar a adicionar ao objecto.

Javascript Delete Operator

Javascript delete é um operador embutido que remove a propriedade do objecto. O operador de apagar remove tanto o valor do bem como o próprio bem. Se não houver mais referências ao mesmo bem, então ele é eventualmente libertado automaticamente.

O operador de apagar também tem o valor de retorno. Se conseguir apagar o bem, este voltará a ser verdadeiro. Se não conseguir remover a propriedade porque a propriedade não pode ser escrita, retornará falso, ou se no modo estrito, lançará um erro.

Sintax

A sintaxe do operador de eliminação Javascript é a seguinte.

delete object.property// ordelete object

Vejamos o seguinte exemplo.

// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj.a);delete appObj.a;console.log(appObj);

Ver a saída.

Javascript Delete Operator Tutorial

Uma coisa a ter em mente é que o operador de apagar não deve ser utilizado em propriedades de objectos JavaScript pré-definidas. Pode danificar a sua aplicação.

Agora, se tentar apagar o objecto inteiro, então poderá não ser possível para si. Só pode remover as propriedades do objecto e não o objecto inteiro.

// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj);delete appObj;console.log(appObj);

Ver a saída.

div id=”4498038329″>Como remover propriedades do objecto

Não é como a crença comum que sugere, um operador de eliminação em Javascript não tem nada a ver com libertar directamente a memória. A gestão da memória é feita indirectamente ao quebrar referências.

O operador de eliminação remove a propriedade dada do objecto. Na eliminação bem sucedida, ele retornará verdadeiro; caso contrário, o falso será devolvido. Contudo, é essencial considerar os seguintes casos.

  1. Se o bem que está a tentar apagar não existir no objecto então, o apagar não terá qualquer efeito e retornará true.
  2. Se o bem com o mesmo nome existir na cadeia do protótipo do objecto, então, após o apagamento, um objecto utilizará o bem da cadeia do protótipo. Assim, ele irá para a hierarquia superior.

p>Vejamos o seguinte exemplo de True ou False.

// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj);console.log(delete appObj.d);

Vejamos o seguinte exemplo.

Javascript Delete Operator Tutorial | Remove Property From Object

P>Vemos que se a propriedade do objecto não existe, e se tentarmos remover essa propriedade que não existe, então ela dar-nos-á o verdadeiro em output.

Benchmark of Delete Operator in Javascript

É possível ver o benchmark aqui.

Delete é a única forma verdadeira de remover as propriedades do objecto sem sobras, mas funciona ~ 100 vezes mais lentamente do que a sua “forma alternativa”, que é a seguinte

object = undefined

Esta alternativa não é a forma correcta de remover a propriedade de um objecto. Mas, se a utilizar com cuidado, pode acelerar drasticamente alguns algoritmos.

Então, quando utilizar um operador indefinido e quando utilizar um operador de eliminação?

O objecto pode ser visto como o conjunto de pares de valores chave. O que eu chamo de ‘valor’ é um primitivo ou uma referência a outro objecto, ligado a essa ‘chave’.

Utilizar o operador de apagar quando se passa um objecto de resultado ao código sobre o qual não se tem qualquer controlo (ou quando não se tem a certeza sobre a sua equipa ou sobre si próprio). Apaga a chave do hashmap.

let obj = { prop: 1 }; delete obj.prop;

Use o indefinido quando se preocupar com o desempenho. Pode dar um excelente impulso ao seu código.

A chave permanece no seu lugar no hashmap, e apenas o valor é substituído por um indefinido.

Entenda que em loop ainda irá iterar sobre essa chave.

let obj = { prop: 1 }; obj.prop = undefined;

Usando o método acima descrito, nem todas as formas de determinar a existência da propriedade irão funcionar como esperado.

Contudo, este código:

object.prop === undefined

comportar-se-á de forma equivalente para ambos os métodos.

Conclusion

A necessidade de um operador de eliminação Javascript é sempre que se pretende remover uma propriedade de um objecto. Por vezes, em vez de eliminar uma propriedade, os programadores JavaScript dar-lhe-ão um valor de null.

Finalmente, a remoção de propriedade de um objecto em Javascript Exemplo acabou.

Posts recomendados

Valores do objecto em Javascript

Javascript Async / Await

Javascript Fetch API

Classe Javascript

Importação de Javascript

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *