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

[Dúvida] Não entendi o motivo de repetir no else a informação que está na variável

No código a variável qtdPista já está pegando o elemento pelo id no html, mas depois no else repetimos a informação, só que não está em variável e tiraram o parseInt. Poque isso aconteceu? Não daria para usar só a varíavel no else? Ou ainda, porque foi necessário reescrever document.getElementById('qtd-pista').textContent = qtdPista?

function comprarPista(qtd) {
    let qtdPista = parseInt(document.getElementById('qtd-pista').textContent);

    if (qtd > qtdPista) {
        alert('Quantidade indisponível para o tipo Pista');
    } else {
        qtdPista = qtdPista - qtd;
        document.getElementById('qtd-pista').textContent = qtdPista; 
        alert('Compra realizada com sucesso!');
    }
} 
2 respostas
solução!

Olá, Carolina! Tudo bom com você?

Isso acontece, porque quando é feita a declaração da variável 'qtdPista', estamos pegando o valor do elemento 'qtd-pista' e convertendo em um valor inteiro. Agora, no 'else', a primeira coisa que é feita é reduzir de 'qtdPista' a quantidade de pistas que foram passadas como parâmetro na função, e em seguida, usamos 'document.getElementById('qtd-pista').textContent' e não usamos a variável porque queremos modificar o valor do elemento 'qtd-pista' e não armazená-lo ou usar seu valor. Sendo assim, é feito dessa forma novamente pois precisamos selecionar o elemento (document.getElementById), depois o seu conteúdo (textContent), e depois modificamos o seu valor para ser igual ao da variável 'qtdPista'.

Espero que tenha conseguido te ajudar, e peço desculpas caso não tenha sido muito claro. Bons estudos e um grande abraço!

Olá Iury! Foi muito claro sim, obrigada!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software