Modificando e adicionando propriedades: atualizando e expandindo objetos

Descubra como alterar valores existentes ou adicionar novas informações a um objeto.

Agora que você já sabe acessar propriedades de objetos, chegou a hora de dar o próximo passo: mudar informações existentes e adicionar novas informações.

Pense no objeto como uma ficha de cadastro.
Às vezes você precisa corrigir um campo (atualizar) ou incluir um campo novo (expandir).

Relembrando um objeto

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

1) Modificando uma propriedade existente

Para atualizar um valor, você usa = na propriedade que já existe.

pessoa.idade = 29;

console.log(pessoa.idade); // 29

Aqui, a chave idade já existia, então o valor foi trocado de 28 para 29.

2) Adicionando uma nova propriedade

Se a chave ainda não existe, o JavaScript cria essa propriedade automaticamente.

pessoa.cidade = "Recife";

console.log(pessoa.cidade); // Recife

Agora o objeto ganhou uma nova informação.

3) Atualizando com notação de colchetes

Você também pode modificar com colchetes:

pessoa["nome"] = "Lívia";
console.log(pessoa.nome); // Lívia

Isso é muito útil quando a chave vem de variável.

const campo = "idade";
pessoa[campo] = 30;

console.log(pessoa.idade); // 30

4) Atenção com const em objetos

Muita gente acha que const impede qualquer mudança no objeto.
Não é bem assim.

Com const, você não pode apontar a variável para outro objeto, mas pode alterar propriedades internas.

const produto = {
  nome: "Teclado",
  preco: 120
};

produto.preco = 150; // pode
produto.estoque = 20; // pode

O que não pode:

// produto = {}; // erro

5) Atualizando propriedades aninhadas

Também dá para atualizar propriedades dentro de outro objeto.

const aluno = {
  nome: "Carlos",
  endereco: {
    cidade: "Salvador",
    estado: "BA"
  }
};

aluno.endereco.cidade = "Feira de Santana";

console.log(aluno.endereco.cidade); // Feira de Santana

6) Incrementando valores numéricos

Quando o valor é número, você pode atualizar com operadores de atalho.

const contador = { valor: 10 };

contador.valor += 1;
console.log(contador.valor); // 11

7) Criando uma cópia atualizada (sem alterar o original)

Em alguns cenários, você pode preferir criar um novo objeto com as mudanças usando spread (...).

const usuario = {
  nome: "Rafa",
  ativo: true
};

const usuarioAtualizado = {
  ...usuario,
  ativo: false,
  perfil: "admin"
};

console.log(usuario); // original continua igual
console.log(usuarioAtualizado); // novo objeto com mudanças

Boas práticas rápidas

  • Use nomes de propriedades claros.
  • Atualize apenas o que for necessário.
  • Cuidado para não sobrescrever dados sem querer.
  • Quando precisar preservar o original, crie uma cópia antes de alterar.

Resumo da lição

  • Para modificar, use obj.propriedade = novoValor.
  • Para adicionar, use uma chave que ainda não existe: obj.novaChave = valor.
  • Você pode fazer isso com ponto (.) ou colchetes ([]).
  • Objetos declarados com const podem ter propriedades internas alteradas.
  • Em objetos aninhados, o acesso é em cadeia (obj.a.b.c).