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..
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..
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");
¿Cuál es el valor de la expresión 5> 3? 6! = "6"?
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.
¿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.
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.
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..
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.
||
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:
!
mesa de la verdad:
PAG | !PAG |
---|---|
cierto | falso |
falso | cierto |
Ejemplo:
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.
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..