1
resposta

[Dúvida] Duvida sobre Sintaxa "const []"

Em determinado tempo de aula o instrutor utiliza da linha de código:

const [alunos, medias] = listaDeAlunosEMedias;

Esse linha foi feita para substituir a linhas:

    const indice = alunos.indexOf(aluno);
    const mediaDoAluno = medias [indice];

Minha duvida é: como o JavaScript sabe que em que ordem distribuir as listas? quem vai para alunos e quem vai para medias? ele distribui de forma sequencial?

1 resposta

Oi, Juan, tudo bem?

O JavaScript considera a ordem dos elementos de uma lista quando realizamos a sintaxe de desestruturação. Vamos considerar a seguinte sintaxe:

const [alunos, medias] = listaDeAlunosEMedias;

Esse código indica que o item da posição 0 do array listaDeAlunosEMedias será atribuído à constante alunos. Da mesma forma, o item da posição 1 do array listaDeAlunosEMedias será atribuído à constante medias.

Por esse motivo, o código acima equivale ao seguinte código:

        const alunos = listaDeAlunosEMedias[0];
        const medias = listaDeAlunosEMedias[1];

Vou dar outro exemplo que pode esclarecer. Considere o seguinte código:

const numeros = [2, 5, 8];

const [num1, num2, num3] = numeros;

console.log(num1); // 2
console.log(num2); // 5
console.log(num3); // 8

Nesse código, temos uma lista com três numeros. Em seguida, realizamos uma desestruturação dessa lista, atribuindo cada um dos itens às constantes num1, num2 e num3, que possuem, respectivamente, os valores 2, 5 e 8. Ou seja, note que o valor das variáveis criadas na desestruturação dependem da ordem dos itens do array.

Espero ter ajudado! Abraços e bons estudos :)