Como remover uma propriedade de um objeto JavaScript

Inscreva-se em nossa Newsletter!

Objetos no JavaScript são usados em muitas situações e todos sabemos como adicionar novas propriedades e valores para os objetos existentes.

No entanto, algo que eu demorei para aprender foi como de fato remover uma propriedade de um objetivo JavaScript.

Nesse breve artigo vou te apresentar duas maneiras de fazer esse procedimento, cada uma com seu melhor momento de aplicação.

Deletar propriedade do objeto JavaScript

A primeira solução para remover uma propriedade do objeto JS é com o uso de uma declaração chamada delete.

Suponhamos que temos o seguinte objeto:

let meuObjeto = {
    "propriedade1": "valor1",
    "propriedade2": "valor2",
    "propriedade3": "valor3"
}

Para deletar de forma simples um desses itens do objeto, podemos fazer o seguinte:

delete meuObjeto.propriedade3

// Resultado: 
// let meuObjeto = {
//     "propriedade1": "valor1",
//     "propriedade2": "valor2"
// }

Quando você executa esse comando ele retornará true para a operação bem-sucedida e false quando não conseguir deletar a propriedade.

Essa é uma forma bem simples e fácil, não é? Porém, ela tem um problema. Ela não é um tanto quanto lenta em sua execução. Inclusive, se quiser entender mais a fundo essa questão, sugiro esse artigo.

Quando precisamos executar a operação de deletar a propriedade do objeto no JavaScript dentro de um loop, por exemplo, então talvez seja melhor usar outra maneira de obter um resultado semelhante.

Colocar o valor da propriedade como undefined ou ""

Como alternativa em um momento que estamos buscando um código que roda mais rápido, o que podemos fazer é abrir mão de excluir completamente a propriedade e simplesmente deixar seu valor como undefined ou "".

Dependendo da situação, só isso já será suficiente, então vamos ver como funciona.

Vamos usar o mesmo objeto do exemplo acima:

let meuObjeto = {
    "propriedade1": "valor1",
    "propriedade2": "valor2",
    "propriedade3": "valor3"
}

No entanto, agora vamos declarar o valor de propriedade3 para undefined.

meuObjeto.propriedade3 = undefined;
// ou meuObjeto.propriedade3 = "";

// Resultado: 
// let meuObjeto = {
//     "propriedade1": "valor1",
//     "propriedade2": "valor2",
//     "propriedade3": undefined
// }

Essa ação é interessante pois agiliza a execução do código. Mas, como tudo tem um lado bom e ruim, nesse caso você não elimita da memória a variável. Então se você está lidando com um número grande de itens na memória em sua aplicação pode ser que não consiga fazer a limpeza necessária por meio desse tipo de operação. Já a operação com delete elimina da memória.

Outra questão que é interessante observar é que JavaScript aceita Polimorfismo, então você pode ter uma Array contendo apenas strings e aí fazer uma operação que muda uma delas para um número.

Por mais que isso seja legal, você acaba tendo uma Array que é ineficiente e lenta.

Por isso, tenha em mente também a utilização desse método de remover propriedades para que evite polimorfismo quando possível. Se tem uma Array de strings, mude para "". Se tiver uma de números, mude para 0. Por aí vai.

Conclusão

Nesse artigo comentei algumas maneiras que podemos utilizar para remover ou deletar uma propriedade de um objeto no JavaScript.

Espero que tenha gostado e caso tenha dúvidas é só deixar nos comentários abaixo.

Divirta-se!

Gostou do artigo?

Facebook
LinkedIn
Pinterest
WhatsApp
Picture of André Lug

André Lug

Apaixonado por design e desenvolvimento de websites. De vez em quando gosta de escrever sobre produtividade, como é ser um freelancer e algumas reflexões da vida.