Removendo propriedades de objetos: limpando informações

Aprenda a excluir chaves e seus respectivos valores de um objeto.

Até aqui, você aprendeu a criar, acessar, modificar e adicionar propriedades em objetos.
Agora vamos aprender a remover propriedades que não são mais necessárias.

Pense em um objeto como uma ficha de cadastro.
Se um campo ficou desatualizado ou não faz mais sentido, você pode apagar esse campo da ficha.

No JavaScript, o jeito mais comum de fazer isso é com a palavra-chave delete.

Exemplo básico com delete

const pessoa = {
  nome: "Lia",
  idade: 28,
  cidade: "Recife"
};

delete pessoa.cidade;

console.log(pessoa);
// { nome: "Lia", idade: 28 }

Nesse caso, a propriedade cidade foi removida do objeto.

Removendo com notação de colchetes

Também funciona com colchetes:

const produto = {
  titulo: "Teclado",
  preco: 120,
  estoque: 15
};

delete produto["estoque"];

console.log(produto);
// { titulo: "Teclado", preco: 120 }

Essa forma é útil quando a chave vem de variável.

const campo = "preco";
delete produto[campo];

Diferença importante: remover vs deixar undefined

Veja estas duas situações:

const usuario = { nome: "Ana", email: "ana@email.com" };

usuario.email = undefined;
console.log(usuario); 
// { nome: "Ana", email: undefined }

Aqui a propriedade continua existindo, só que com valor undefined.

Agora removendo de verdade:

delete usuario.email;
console.log(usuario);
// { nome: "Ana" }

Aqui a propriedade não existe mais no objeto.

Como verificar se a propriedade existe

Você pode usar o operador in:

const carro = { marca: "Ford", ano: 2022 };

console.log("marca" in carro); // true

delete carro.marca;
console.log("marca" in carro); // false

delete retorna true ou false

O delete devolve um booleano indicando se conseguiu remover.

const obj = { a: 1 };
const resultado = delete obj.a;

console.log(resultado); // true

Cuidado ao remover dados importantes

Remover uma propriedade é uma ação destrutiva: depois você perde aquela informação.
Por isso, em cenários reais, vale ter cuidado e confirmar antes de apagar dados essenciais.

Arrays não devem ser "limpos" com delete na maioria dos casos

Em arrays, usar delete pode deixar “buracos” na lista.
Para remover itens de array, normalmente usamos métodos como splice, pop ou shift.

Resumo da lição

  • Use delete objeto.propriedade para remover uma propriedade.
  • Também pode usar delete objeto["propriedade"].
  • delete remove a chave do objeto de verdade.
  • Definir undefined não remove a propriedade, apenas muda o valor.
  • Use com cuidado para não apagar informações importantes sem querer.