Objetos em JavaScript podem ser vistos como matrizes associativas, mapeando chaves (propriedades) para valores.
Para remover uma propriedade de um objeto em JavaScript, use o delete
operador:
const o = { lastName: 'foo' }
o.hasOwnProperty('lastName') // true
delete o['lastName']
o.hasOwnProperty('lastName') // false
Observe que quando delete
aplicado a uma propriedade de índice de um Array
, você criará uma matriz escassamente povoada (ou seja, uma matriz com um índice ausente).
Ao trabalhar com instâncias de Array
, se você não deseja criar uma matriz escassamente povoada - e geralmente não o faz -, use Array#splice
ou Array#pop
.
Observe que o delete
operador em JavaScript não libera memória diretamente. Seu objetivo é remover propriedades dos objetos. Obviamente, se uma propriedade que está sendo excluída tiver a única referência restante para um objeto o
, ela o
será posteriormente coletada como lixo normalmente.
O uso do delete
operador pode afetar a capacidade dos mecanismos JavaScript de otimizar o código .