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

Existe alguma diferença?

Estou terminando a aula 4 e estava tentando resolver o problema antes de ver a explicação pra tentar entender melhor a lógica da questão.

Essa foi a resolução da professora, em que ela atribui ao idAudio o valor do som do instrumento em questão:

while (contador < listaDeTeclas.length) {

    const tecla = listaDeTeclas[contador];
    const instrumento = tecla.classList[1]

    const idAudio = `#som_${instrumento}`;

    tecla.onclick = function () {
        tocaSom(idAudio);
    }
    contador = contador + 1;
}

Mas não seria mais simples fazer dessa forma:

while (contador < listaDeTeclas.length) {

    const tecla = listaDeTeclas[contador];
    const instrumento = tecla.classList[1]

    tecla.onclick = function () {
        tocaSom('#som_' + instrumento);
    }
    contador = contador + 1;
}

Estou deixando passar algo ou o problema pode ser resolvido de ambos os jeitos?

1 resposta
solução!

Sim, o problema pode ser resolvido de ambas maneiras.

A única diferença é que na solução da instrutora, ela criou a constante idAudio para depois passar este valor como parâmetro da função. Diferente de você que realizou o operador de concatenação para concatenar o prefixo de classe junto da classe instrumento diretamente na passagem de parâmetros da função.