Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não entendi o porque utilizar a notação de colchetes

Olá devs, tudo bem? Em relação a essa aula foi explicado que a notação de colchetes deveria ser utilizada quando não soubéssemos o objeto chave de um algum objeto específico. Por exemplo se não soubéssemos quais dados tem aquele objeto, certo? Porém quando é chamada a função do exemplo citada pela professora é utilizada a chave do objeto "nome" e "cpf", então teoricamente teríamos sim que saber qual é o objeto chave daquele objeto específico. Minha pergunta é, se teríamos que saber qual o objeto chave já, não seria bem mais prático utilizar a notação de ponto ao em vez da notação de colchetes? Qual a real finalidade e diferenças entre as duas?

1 resposta
solução!

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:

  1. 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'
    
  2. 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.