Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Duda] Duda de buenas practicas con el operador condicional ternario.

Hola, buen día. Tengo el siguiente problema: "Crea una variable "numero" y solicita un valor con prompt. Luego, verifica si es positivo, negativo o cero utilizando un if-else y muestra el mensaje correspondiente.".

Mi duda al respecto es que si en lugar de usar el condicional con if-else y uso el condicional ternario se considera como buena o mala práctica ya que no quisiera caer en el famoso "código espagueti". Espero puedan resolver mi duda, gracias.

A continuación, los ejemplos.

Operador condicional ordinario:

let numero = parseInt(prompt(`Ingrese un numero.`));

if (numero > 0) {
    console.log(`El numero es ${numero} por lo tanto es positivo.`);
    
} else if (numero < 0) {
    console.log(`El numero es ${numero} por lo tanto es negativo.`);

} else {
    console.log(`El numero es cero.`);
}

Operador condicional ternario:

let numero = parseInt(prompt(`Ingrese un numero.`));

numero > 0
    ? console.log(`El numero es ${numero} por lo tanto es positivo.`)
    : numero < 0
        ? console.log(`El numero es ${numero} por lo tanto es negativo.`)
        : console.log(`El numero es cero.`);
2 respuestas

Hola José, en mi experiencia utilizando ambas maneras, encontrarás que a veces te conviene una más que la otra, o simplemente una te ayudará a ahorrar recursos en casos quizá más cortos a evaluar, y otros más pesados, yo siempre usé el ternario para momentos donde no había mucho código que retornar, no es nada de mala práctica, abre más caminos a tus resultados finales, inclusive todos tenemos nuestra manera de codear:).

Si estoy de acuerdo con mi compañero, pero desde mi punto de vista yo creo que se vería mas legible es cuando se trabaja una condición dentro o dentro de un bucle como se hizo  en el juego en clase, pero mira que ese lo hice también de esta manera 

aprovechando que  me preguntaban negativo o O

let numero = prompt("Ingrese un numero");
if(numero > 0){
    console.log(`Su numero ${numero} es positivo`);
}else{
    console.log(`Su numero ${numero} es negativo o O`)
}

 
 O haciendo esto 

 
 let numero = prompt("Ingrese un numero");
if(numero > 0){
    console.log(`Su numero ${numero} es positivo`);
}else if (numero < 0 || numero == 0){
    console.log(`Su numero ${numero} es negativo o O`)
}
 
 
  si quieres algo mas especifico
  
  let numero = prompt("Ingrese un numero");
if(numero > 0){
    console.log(`Su numero ${numero} es positivo`);
}else if (numero < 0 || numero == 0){
    if(numero < 0){console.log(`Tu numero ${numero} es negativo`) }
    else{console.log(`Tu numero ${numero} es 0`)}
}
  
  si quieres le puedes agregar los operadores ternarios
  
   let numero = prompt("Ingrese un numero");
if(numero > 0){
    console.log(`Su numero ${numero} es positivo`);
}else if (numero < 0 || numero == 0){
    numero < 0 ?console.log(`Tu numero ${numero} es negativo`): console.log(`Tu numero ${numero} es 0`)
}