Aprende Ciencias de la Computación con JavaScript Parte 2, Condicionales

Introducción

En la primera parte de esta serie, nuestros programas solo se escribieron como una secuencia de declaraciones. Esta estructura limita severamente lo que podemos hacer. Digamos que estás diseñando un programa que necesita iniciar sesión en los usuarios. Es posible que desee dirigir a un usuario a una página si proporciona las credenciales correctas y las envía a otra si no están registradas.. 

Para hacer esto, necesita usar una estructura de decisión como una declaración if. Esto realizará una acción solo bajo ciertas condiciones. Si la condición no existe, la acción no se realiza. En este tutorial, aprenderás todo sobre condicionales..

Contenido

  • Si declaraciones
  • Operadores relacionales
  • Declaración if-else
  • Cambiar declaraciones
  • Operadores logicos
  • revisión
  • Recursos

Si las declaraciones

Una sola sentencia if realizará una acción si una condición es verdadera. Si la condición es falsa, el programa ejecutará la siguiente instrucción que está fuera del bloque if. En el siguiente ejemplo, si la expresión está lloviendo() es cierto, entonces lo haremos putOnCoat () y putOnRainboots () entonces Salir afuera(). Si está lloviendo() Es falso, el programa solo se ejecutará. Salir afuera().

if (isRaining) putOnCoat (); putOnRainboots ();  Salir afuera();

Esta es la forma general para escribir una declaración if:

if (condición) declaración; declaración; etc.

los condición es una expresión que tiene el valor verdadero o falso. Una expresión que es verdadera o falsa se llama expresión booleana. Las expresiones booleanas se hacen con operadores relacionales.. 

Operadores relacionales

Un operador relacional compara dos valores y determina si la relación entre ellos es verdadera o falsa. Se pueden utilizar para crear expresiones booleanas para nuestras condiciones. Aquí hay una lista de operadores relacionales con ejemplos:

Operador Sentido Ejemplo Sentido
== igualdad x == y Es x igual a y?
===
igualdad estricta  x === y Es x igual a y en valor y tipo?
!=
desigualdad
x! = y
Es x no es igual a y?
!==
desigualdad estricta
x! == y
Es x no es igual a y en valor y tipo?
> mas grande que
x> y
Es x mayor que y?
< menos que
X < y
Es x menos que y?
> = mayor que o igual
x> = y
Es x mayor o igual que y?
<= menor o igual
X <= y
Es x menor o igual que y?

Es importante notar la diferencia entre el operador de igualdad. == y el operador de igualdad estricta ===. Por ejemplo, la expresión 2 == "2" es verdad. Pero la expresion 2 === "2" Es falso. En el segundo ejemplo, los dos valores son tipos de datos diferentes, y es por eso que la expresión es falsa. Es una buena práctica usar === o !==.

El siguiente ejemplo mostrará el mensaje "Obtienes una A".

dejar grado = 93; if (grado> = 90) console.log ("Obtienes una A"); 

Tarea

¿Cuál es el valor de la expresión 5> 3? 6! = "6"?

Declaraciones If-else

Una sentencia if-else ejecutará un bloque de sentencias si su condición es verdadera, u otro bloque si su condición es falsa. El siguiente ejemplo mostrará el mensaje "nombre de usuario válido" porque la condición es verdadera.

dejar nombre de usuario = "alberta"; if (username === "alberta") console.log ("username válido");  else console.log ("Nombre de usuario incorrecto. Inténtalo de nuevo."); 

Esta es la forma general de una sentencia if-else:

if (condición) declaración; declaración; etc. else instrucción; declaración; etc.

Tarea

 ¿Cuál será el resultado de este programa?

let isLoggedIn = false; if (isLoggedIn) console.log ("Welcome");  else console.log ("No has iniciado sesión"); 

También es posible verificar más de una condición. Ejemplo:

sea ​​num = 3; if (num === 1) console.log ("I");  else if (num === 2) console.log ("II");  else if (num === 3) console.log ("III");  else if (num === 4) console.log ("IV");  else if (num === 5) console.log ("V");  else console.log ("Entrada no válida"); 

Esta es la forma general para escribir varias declaraciones if-else-if:

if (condition1) declaración; declaración; etc. else if (condition2) sentencia; declaración; etc. else instrucción; declaración; etc.

Cambiar declaraciones

Una instrucción de cambio también se usa para ejecutar condicionalmente alguna parte de su programa. El siguiente ejemplo implementa nuestro convertidor de números romanos como una instrucción de cambio:

sea ​​num = 3; switch (num) caso 1: console.log ("I"); descanso; caso 2: console.log ("II"); descanso; caso 3: console.log ("III"); descanso; caso 4: console.log ("IV"); descanso; caso 5: console.log ("V"); descanso; por defecto: console.log ("Entrada inválida"); 

Esta es la forma general de una declaración de cambio:

switch (expresión) caso valor1: declaración; declaración; descanso, etc. valor de caso2: declaración; declaración; descanso, etc. predeterminado: sentencia; declaración; etc. 

Cada caso representa un valor que nuestra expresión puede tomar. Solo se ejecutará el bloque de código para el caso verdadero. Incluimos una instrucción de interrupción al final del bloque de código para que el programa salga de la instrucción de cambio y no ejecute ningún otro caso. El caso predeterminado se ejecuta cuando ninguno de los otros casos es verdadero.    

Tarea 

Escriba una declaración de cambio que muestre el día de la semana dado un número. Por ejemplo, 1 = domingo, 2 = lunes, etc..

Operadores logicos

El y el operador && y el operador o || Permítanos conectar dos expresiones booleanas. El no operador ! niega una expresión. Para ilustrar cómo funcionan los operadores lógicos, veremos una tabla de verdad. Una tabla de verdad contiene todas las combinaciones de valores utilizados con los operadores. yo suelo PAG para representar la expresión de la mano izquierda y Q para la expresión de la mano derecha.  

&& mesa de la verdad:

PAG Q P && Q
cierto cierto cierto
cierto
falso
falso
falso
cierto
falso
falso
falso falso

Leemos la tabla pasando por cada fila. La primera fila nos dice que cuando PAG es cierto y Q es verdad, P && Q es verdad. El siguiente ejemplo prueba si 82 ​​está entre 60 y 100 inclusive.

  • sea ​​x = 82;
  • x> = 60 && x <= 100
  • P: x> = 60 es cierto
  • Q: x <= 100 is true
  • P && Q: verdadero && verdadero

|| mesa de la verdad:

PAG Q P || Q
cierto
cierto
cierto
cierto
falso
cierto
falso
cierto cierto
falso
falso
falso

Este ejemplo prueba si 82 ​​está fuera del rango 60-100:

  • sea ​​x = 82;
  • X < 60 || x > 100
  • P: x < 60 is false
  • Q: x> 100 es falso
  • P || Q: falso || falso

! mesa de la verdad:

PAG !PAG
cierto
falso
falso
cierto

Ejemplo:

  • x = 82
  • P: x> 0 es cierto
  • !P: falso

Tarea

Rellena la tabla con los valores faltantes..

PAG Q !PAG !Q !P &&! Q
!P || ! Q
cierto
cierto




cierto
falso

falso
cierto

falso
falso


Algo útil que se debe saber acerca de los operadores lógicos es que si la expresión en el lado izquierdo de la && el operador es falso, la expresión de la derecha no se verificará porque toda la declaración es falsa. Y si la expresión en el lado izquierdo de una || el operador es verdadero, la expresión de la derecha no se verificará porque toda la declaración es verdadera.

revisión

Un programa puede ejecutar bloques de código condicionalmente utilizando expresiones booleanas. Una expresión booleana se escribe usando operadores relacionales. Los operadores lógicos nos permiten combinar expresiones booleanas.. 

Una sola instrucción if le da al programa una ruta alternativa para tomar si se cumple una condición. Las declaraciones if-else proporcionan un segundo curso de acción si la condición es falsa. Y las declaraciones if-else-if nos permiten probar múltiples condiciones. Las declaraciones de cambio se pueden usar como una alternativa a una instrucción if-else-if cuando tiene varias condiciones para probar. 

A continuación, en la parte 3, discutiremos los bucles..

Recursos

  • repl.it
  • Especificación ES6
  • No sabes JS: ES6 y más allá