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
constpodem ter propriedades internas alteradas. - Em objetos aninhados, o acesso é em cadeia (
obj.a.b.c).