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.
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.
- 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.
- 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.
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