1
resposta

[Projeto] Resolução do Projeto ingresso - fazendo sozinho

Consegui fazer o código inteiro sozinho

function comprar() {
    let quantidadeIngresso = document.getElementById ('qtd').value;
    let tipoIngresso = document.getElementById ('tipo-ingresso').value;
    let pista = document.getElementById('qtd-pista');
    let quantidadePista = pista.innerHTML
    let superior = document.getElementById ('qtd-superior');
    let quantidadeSuperior = superior.innerHTML
    let inferior = document.getElementById ('qtd-inferior');
    let quantidadeInferior = inferior.innerHTML
  
if (tipoIngresso == "pista") {
quantidadePista = quantidadePista - quantidadeIngresso;
 if (quantidadePista <0) {
    alert ('Não a ingressos o suficiente')
    return;
}else {
    alert ('Compra realizada')
pista.innerHTML = quantidadePista;
}
} else if (tipoIngresso == "superior") {
quantidadeSuperior = quantidadeSuperior - quantidadeIngresso;
if (quantidadeSuperior <0) {
    alert ('Não a ingressos o suficiente')
    return;
}else {
    alert ('Compra realizada')
    superior.innerHTML = quantidadeSuperior;
}
} else if (tipoIngresso == "inferior") {
quantidadeInferior = quantidadeInferior - quantidadeIngresso;
if (quantidadeInferior <0) {
    alert ('Não a ingressos o suficiente')
    return;
} else {
    alert ('Compra realizada')
    inferior.innerHTML = quantidadeInferior;
}
}
document.getElementById ('qtd').value = 1;
}

No ultima atividade (Carrinho de compra) e achei que tinha complicado demais o código, então nesse eu tentei manter mais simples, o código é funcional (= , mas entendo que talvez a leitura dele não seja muito pratica para outras pessoas.
Lendo o fórum eu entendi como ter usando o parseInt e textContent poderia ter facilitado na criação do meu código, como também na composição, diminuído a chances de ocorrer erros.

1 resposta

Olá, João Pedro! Tudo bem?

Meus parabéns por ter desenvolvido a resolução do desafio sozinho!

Fico muito feliz em ver sua dedicação e, principalmente, sua autocrítica técnica. Você está certíssimo na sua observação: o uso do parseInt traria mais segurança ao código (garantindo que o JavaScript trate os dados como números e não texto) e o textContent é, de fato, uma boa prática para apenas inserir textos, evitando brechas de segurança do innerHTML.

Mas o passo mais importante você já deu: fez a lógica funcionar! A refatoração e as boas práticas vêm naturalmente com a prática constante.

Continue assim!

Bons estudos! Feliz ano!

Sucesso

Imagem da comunidade