Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Qual objetivo dos condicionais da função tocaSom??

Boa noite. Não compreendi muito bem o pq ser necessário codar os ifs e else pra função tocaSom,

function tocaSom (seletorAudio) {
    const elemento = document.querySelector(seletorAudio);
    
    if (elemento != null && elemento.localName === 'audio') {
        
        elemento.play();
    }
    else {
        console.log('Elemento nulo');
    }

já que quando pressionamos os botões com o mouse ou teclado, sempre estarão puxando os elementos que ja tem a tag audio.

Teria como o usuário fugir desse comportamento e ativar algum elemento sem a tag audio nesse projeto do curso?

Obrigado pela atenção e desculpa se a pergunta parecer sem sentido...

2 respostas
solução!

Olá, Daniel!

Tudo bem?

A função tocaSom(seletorAudio) que você mencionou é uma função de segurança. Ela garante que o elemento que está sendo selecionado é realmente um elemento de áudio antes de tentar reproduzi-lo. Isso é feito através dos condicionais if e else.

No caso do código que você compartilhou, o if verifica se o elemento selecionado não é nulo (ou seja, ele existe) e se o nome local do elemento é 'audio'. Se ambas as condições forem verdadeiras, o áudio será reproduzido.

Por outro lado, o else é executado se qualquer uma das condições do if não for atendida. Nesse caso, ele simplesmente registra 'Elemento nulo' no console.

Então, respondendo à sua pergunta, mesmo que o projeto esteja configurado para sempre puxar elementos com a tag de áudio, essa função serve como uma camada extra de segurança. Ela previne erros que poderiam ocorrer se, por algum motivo, um elemento sem a tag de áudio fosse selecionado. Isso poderia acontecer, por exemplo, se houvesse uma mudança no código que acabasse selecionando um elemento errado.

Espero ter ajudado e bons estudos!

Ah sim! Esclareceu minha dúvida! Muito Obrigado!