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

249
Vistas
anidar if./else if declaración por defecto a last else incluso si los parámetros anteriores son verdaderos
Pizza.prototype.getPrice = function() { const price = 10 if (this.pizzaSize === "medium") { if (this.toppings === "cheese") { console.log(price + 6); } else if (this.toppings === ("cheese", "pepperoni")) { console.log(price + 7); } else { console.log(price + 8); } } else if (this.pizzaSize === "large") { if (this.toppings === "cheese") { console.log(price + 11); } else if (this.toppings === ("cheese", "pepperoni")) { console.log(price + 12); } else { console.log(price + 13); } } else if (this.pizzaSize === "xlarge") { if (this.toppings === "cheese") { console.log(price + 15); } else if (this.toppings === ("cheese", "pepperoni")) { console.log(price + 16); } else { console.log(price + 17); } } } function Pizza(pizzaSize, toppings) { this.pizzaSize = pizzaSize; this.toppings = toppings; } //UI Logic --- function displayPizzaInfo(pizzaToDisplay) { let pizzaInfo = $("p#output"); let htmlForPizzaInfo = pizzaToDisplay.pizzaSize + " " + pizzaToDisplay.toppings + " Pizza" + " " + "$ " + pizzaToDisplay.getPrice(); pizzaInfo.html(htmlForPizzaInfo); } $(document).ready(function(){ $("form#pizzaOrder").submit(function(event) { event.preventDefault(); const pizzaSize = $("#pizzaSize").val(); let ele = []; $("input:checkbox[name=topping]:checked").each(function() { ele.push($(this).val()); }) let myPizza = new Pizza(pizzaSize, ele) displayPizzaInfo(myPizza); // let myPizzaPrice = myPizza.getPrice(); }); }); let myPizza = new Pizza("medium", "cheese"); myPizza.getPrice(); Expected Output: 16

La prueba anterior ya no se aplica y el resultado esperado se convierte en 18. Creo que la forma en que escribo mis if anidados o los if están estructurados incorrectamente. Hice TDD y mientras escribía mis pruebas, todas funcionaron sin darme cuenta de que mis pruebas anteriores ya no funcionaban. Estoy buscando que mi prototipo.getPrice coincida con mis declaraciones if y, por lo tanto, se corresponda correctamente con lo que el usuario ve en la aplicación web. Cualquier ayuda sería muy apreciada. ¡Gracias!

about 4 years ago · Juan Pablo Isaza
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