Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

212
Vistas
Javascript: el operador OR no da el resultado esperado

Actualmente me estoy desafiando a mí mismo para hacer una hoja de personaje D&D 5E desde cero usando HTML, CSS y JavaScript. Actualmente, simplemente estoy probando porque soy muy nuevo en JavaScript y aún no estoy muy seguro de cómo funciona. El problema que tengo ahora mismo es crear sentencias if con operadores OR. No quiero crear un bloque gigante e inflado de "si, si de lo contrario, de lo contrario", quiero simplificarlo un poco.

Aquí está mi HTML para el selector desplegable de clases de caracteres.

 <input type="number" id="stat" value="0"> <button id="roll-btn">Roll Stats</button><br><br> <select name="class" id="character-class"> <option value="artificer">Artificer</option> <option value="barbarian">Barbarian</option> <option value="bard">Bard</option> <option value="cleric">Cleric</option> <option value="druid">Druid</option> <option value="fighter">Fighter</option> <option value="monk">Monk</option> <option value="paladin">Paladin</option> <option value="ranger">Ranger</option> <option value="rogue">Rogue</option> <option value="sorcerer">Sorcerer</option> <option value="warlock">Warlock</option> <option value="wizard">Wizard</option> </select>

Aquí está la versión de prueba del javascript que se supone que lee qué tipo de clase se selecciona y luego cambia los valores según el tipo de clase (qué dados de golpe usa, habilidades de tiro de ahorro, etc.)

 let characterClass = document.getElementById("character-class").value /* Determines the selected class. Will be set to "artificer" by default */ console.log(characterClass) if (characterClass === "wizard"||"sorcerer") { /* Wizard and sorcerer both have a hit die value of a D6 */ console.log("Squishy boi") } else { console.log("Not a wizard/sorcerer") }

Sin embargo, cuando ejecuto este código, imprime "squishy boi" a pesar de estar configurado en "artificer" de forma predeterminada. ¿Estoy malinterpretando cómo? || (o) funciona en JS? ¿No es "si characterClass es mago o hechicero, haz esto, de lo contrario haz esto"?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

tiene que ser if (characterClass === "wizard"|| characterClass === "sorcerer") {

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda