Oii João. Tudo bem?
A notação de ponto é realmente mais direta e legível quando você sabe exatamente o nome da propriedade que deseja acessar e essa propriedade tem um nome que é um identificador válido em JavaScript. Por exemplo, estudante.nome
ou estudante.cpf
são usos claros e diretos da notação de ponto.
Mas, a notação de colchetes é particularmente útil em duas situações principais:
Quando o nome da propriedade é dinâmico ou desconhecido no momento da escrita do código: Por exemplo, se você estiver escrevendo uma função que precisa acessar uma propriedade de um objeto, mas o nome dessa propriedade é passado como argumento da função, você precisaria usar a notação de colchetes. Isso permite que a função seja mais flexível e reutilizável. Veja o exemplo:
function getPropertyValue(object, propertyName) {
return object[propertyName];
}
console.log(getPropertyValue(estudante, 'nome')); // Retorna 'José Silva'
console.log(getPropertyValue(estudante, 'cpf')); // Retorna '12312312312'
Quando o nome da propriedade não é um identificador válido: Por exemplo, se uma propriedade de um objeto tem um nome que inclui espaços ou caracteres especiais, ou começa com um número, você não pode acessá-la usando a notação de ponto. Nesse caso, você deve usar a notação de colchetes:
const objeto = {
"nome completo": "José Silva",
"1aPropriedade": "valor1"
};
console.log(objeto["nome completo"]); // José Silva
console.log(objeto["1aPropriedade"]); // valor1
Então, mesmo que a notação de ponto seja mais simples e direta para casos conhecidos e válidos, a notação de colchetes oferece uma flexibilidade essencial para lidar com nomes de propriedades dinâmicos ou inválidos como identificadores diretos. Isso torna seu código mais adaptável e capaz de lidar com uma variedade maior de situações de dados.
Espero ter ajudado.
Um abraço e bons estudos.