Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

178
Visualizações
¿Por qué esta declaración de cambio no funciona perfectamente?

 const number = prompt("Enter your number"); const txt = "You result is : "; switch (number) { case (number >= 80 && number <= 100): document.write(`${txt} A+`); break; case (number >= 70 && number <= 80): document.write(`${txt} A gread`); break; case (number >= 60 && number <= 70): document.write(`${txt} B gread`); break; case (number >= 50 && number <= 60): document.write(`${txt} C gread`); break; case (number >= 33 && number <= 50): document.write(`${txt} D gread`); break; case (number >= 0 && number <= 33): document.write(`${txt} Field !`); break; case (number > 100 || number < 0): document.write(`It's not a valid number. Please input any valid number.`); break; default: document.write(`Not input any number. Please input any number .`); break; }

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Con una declaración de cambio, evalúa la expresión justo después switch . En su caso, ese sería el number .

Entonces, sus casos se evalúan con el número. Esto es lo que pasará:

  • Supongamos que ingresamos '88' en el aviso.
  • Lo primero con lo que está evaluando number es (number >= 80 && number <= 100) . El resultado de esto último es true .
  • ahora el valor del number , 88 se compara con true , así: 88===true .
  • esto da como resultado un false , por lo que se evalúa el siguiente caso.
  • lo mismo sucede para los siguientes casos, justo hasta el punto en que llega al caso predeterminado.
over 4 years ago · Santiago Trujillo Relatório

0

Hay dos razones por las que este código no funcionará:

  • La primera razón es porque el método de prompt devuelve una cadena como puede ver al escribir

     console.log('Type of number:', typeof number); // Expected output: Type of number: string

    Puede resolver esto analizando la salida del método de solicitud de la siguiente manera

     const number = parseInt(prompt("Enter your number"));
  • La segunda razón es porque en una declaración de switch , el valor evaluado de la expresión de cambio se compara con los valores evaluados de los casos.

    Significa que el valor de number (número) se compara con la expresión (number >= 80 && number <= 100) (expresión de comparación) y así sucesivamente con los demás.

    Entonces, a menos que una de sus expresiones de caso produzca un número, el switch intentará evaluar el valor del number en la expresión (que siempre es verdadera), lo que significa que el switch está comparando 45 === true , sin coincidir con ninguno de los casos.

Simplemente use if / else en su lugar:

 if (number >= 80 && number <= 100) document.write(`${txt} A+`); else if (number >= 70 && number <= 80) document.write(`${txt} A gread`); else if (number >= 60 && number <= 70) document.write(`${txt} B gread`); else if (number >= 50 && number <= 60) document.write(`${txt} C gread`); else if (number >= 33 && number <= 50) document.write(`${txt} D gread`); else if (number >= 0 && number <= 33) document.write(`${txt} Field !`); else if (number > 100 || number < 0) document.write(`It's not a valid number. Please input any valid number.`); else document.write(`Not input any number. Please input any number .`);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda