Condiciones en JavaScript
SOLUCIONARIO
Condiciones en JavaScript
2025-01-22
Por
Occam's Razor

Condicionales en JavaScript

#!/usr/bin/nodejs

const n = 42;
const rl = require ( 'readline').createInterface ( {
    input: process.stdin,
    output: process.stdout,
});

rl.question ("Adivina en que número estoy pensando ? ", (val) => {
    rl.close();
    let v = Number(val);
    if (v < 0) {
       console.log ("Solo números positivos\n");
       return;
    }
    
    if (v == n) console.log ("Bien Hecho!");
    else {
      console.log ("Sigue probando!");
      console.log ("El número es "+ ((v < n) ? "MAYOR" : "MENOR"));
      process.stdout.write ("Pista : ");
      let h = (v > n) ? v-n : n-v;
      if (h < 5) console.log (" TE QUEMAS!");
      else if (h < 10) console.log (" CALIENTE");
      else if (h < 15) console.log (" TEMPLADO");
      else console.log (" FRIO");
    }
  });

Dejando a un lado el uso de readline para poder leer entrada de la consola, algo para lo que Javascript no fué pensado, y respecto de las comparaciones, JavaScript nos ofrece un interface estilo C estándar con bloques if -- else y el operador ternario ?:.

SOY NOVATO

Javascript, nos deja declarar variables utilizando las palabras clave let y var. La primera declara una variable local al bloque de código en el que se declara (scope), mientras que var declara una variable disponible en la funcion en la que es declarada. Una variable declara sin var o let se considera una variable global, independientemente de donde haya sido declarada.

Javascript también ofrece una instrucción switch siguiendo el formato del lenguaje C. En realidad, es idéntica a la que utiliza PHP, puesto que nos permite utilizar también cadenas de caracteres en los casos. Javascript, de hecho, al tratarse de un lenguaje altamente dinámico nos permite poner lo que queramos en prácticamente cualquier parte, lo que incluye los casos de switch. Lo único que tenemos que tener en cuenta es el tipo de la variable que pasamos a switch ya que esto determinará como se evaluarán las expresiones. Un error común es utilizar una variable entera para switch, pero luego utilizar expresiones booleanas del tipo (x> 100) en el caso.

var x = 102

switch (x) {
  case 0:
    console.log ("Cero");
    break;
  case 1:
  case 2:
    console.log ("Uno o dos");
    break;
  case ( (x> 100) ? x : null):
    console.log ("Valor mayor que 100");
    break;
  default:
    console.log ("Me da igual");
}

Al igual que en la mayoría de los lenguajes que soportan switch en JavaScript podemos utilizar las instrucciones break y el caso especial default. La primera permite dejar el bloque switch y la debemos utilizar en cada caso si no queremos que la ejecución continue en el siguiente caso definido. El caso especial default se ejecutará si ninguno de los otros casos se activa.

Al igual que sucede en otros lenguajes, la instrucción switch se puede utilizar como un bloque de if-else encadenados de la siguiente forma:

switch (true) {
    case h < 5:
        console.log ("TE QUEMAS!!!");
        break;
    case h < 10:
        console.log ("CALENTITO!!!");
        break;
    case h < 15:
        console.log ("TEMPLADO");
        break
    default:
        console.log ("FRIO");
}

Javascript soporta nativamente tipos booleanos con valores true y false. JavaScript considera cualquier cosa con valor un true cuando se utiliza en una comparación, y cualquier cosa sin valor un false. Por ejemplo, un entero con valor 0, una cadena vacía, un objeto nulo o un NaN se consideran valores false.

Finalmente, Javascript nos permite definir constantes usando la palabra clave const. Las variables const en Javascript deben ser asignadas cuando se definen y no pueden se pueden volver a declarar.

Resumen

  • Soporta if ... [else if] ...[else] ...
  • No soporta forma reducida de if
  • Soporta operador terciario if asignacion; condicion {cmd}
  • Soporta booleanos: Boolean con valores true/false
  • Soporta switch
  • Soporta constantes nativamente (const CONSTANTE = val )

SOBRE Occam's Razor
Somos una revista libre que intenta explicar de forma sencilla conceptos tecnológicos y científicos de los que no podemos escapar. Al final, todo es más fácil de lo que parece!

 
Tu publicidad aquí :)