a veces, necesitamos realizar diferentes acciones basadas en diferentes condiciones.
para hacer eso, podemos usar la instrucción if
y el operador condicional ?
, que también se llama operador de «signo de interrogación».
La instrucción «if»
El if(...)
instrucción evalúa una condición entre paréntesis y, si el resultado es true
, ejecuta un bloque de código.,
Por ejemplo:
let year = prompt('In which year was ECMAScript-2015 specification published?', '');if (year == 2015) alert( 'You are right!' );
En el ejemplo anterior, la condición es una simple comprobación de igualdad (year == 2015
), pero puede ser mucho más complejo.,
Si queremos ejecutar más de una instrucción, tenemos que envuelven a nuestro bloque de código dentro de las llaves:
if (year == 2015) { alert( "That's correct!" ); alert( "You're so smart!" );}
recomendamos envolver el bloque de código con llaves {}
cada vez que utilice un if
declaración, incluso si sólo hay una instrucción que se debe ejecutar. Hacerlo mejora la legibilidad.
conversión booleana
la instrucción if (…)
evalúa la expresión entre paréntesis y convierte el resultado en un booleano.,
Vamos a recordar las reglas de conversión desde el capítulo de las Conversiones de tipos:
- Un número
0
, una cadena vacía""
,null
,undefined
, yNaN
todos se conviertenfalse
. Por eso se les llama valores «falsos». - Otros valores se convierten en
true
, por lo que se llaman «truthy».,
Así, el código bajo esta condición nunca iba a ejecutar:
if (0) { // 0 is falsy ...}
…y dentro de esta condición – siempre será:
if (1) { // 1 is truthy ...}
también se puede pasar un pre-evaluados valor booleano if
, como este:
let cond = (year == 2015); // equality evaluates to true or falseif (cond) { ...}
El «else» cláusula
El if
declaración puede contener un opcional de bloque «else». Se ejecuta cuando la condición es falsa.,
Por ejemplo:
varias condiciones:»else if»
a veces, nos gustaría probar varias variantes de una condición. La cláusula else if
nos permite hacerlo.
por ejemplo:
en el código anterior, JavaScript primero comprueba year < 2015
. Si eso es falso, va a la siguiente condición year > 2015
. Si eso también es falso, muestra el último alert
.
Puede haber más bloques else if
. El else
final es opcional.
operador Condicional ‘?,’
a veces, necesitamos asignar una variable dependiendo de una condición.
por ejemplo:
el llamado operador «condicional» o «signo de interrogación» nos permite hacerlo de una manera más corta y sencilla.
El operador está representado por un signo de interrogación ?
. A veces se llama «ternario», porque el operador tiene tres operandos. En realidad es el único operador en JavaScript que tiene tantos.,
La sintaxis es:
let result = condition ? value1 : value2;
El condition
se evalúa: si es truthy entonces value1
se devuelve, de lo contrario – value2
.
Por ejemplo:
let accessAllowed = (age > 18) ? true : false;
Técnicamente, podemos omitir los paréntesis alrededor de age > 18
. El operador de signo de interrogación tiene una prioridad baja, por lo que se ejecuta después de la comparación >
.,
este ejemplo hará lo mismo que el anterior:
pero los paréntesis hacen que el código sea más legible, por lo que recomendamos usarlos.
En el ejemplo anterior, usted puede evitar el uso de la interrogación operario, debido a que la comparación en sí devuelve true/false
:
// the samelet accessAllowed = age > 18;
Varios ‘?’
una secuencia de operadores de signo de interrogación ?
puede devolver un valor que depende de más de una condición.,
Por ejemplo:
let age = prompt('age?', 18);let message = (age < 3) ? 'Hi, baby!' : (age < 18) ? 'Hello!' : (age < 100) ? 'Greetings!' : 'What an unusual age!';alert( message );
puede ser difícil al principio para entender todo lo que está pasando. Pero después de una mirada más de cerca, podemos ver que es sólo un ordinario de la secuencia de pruebas:
Aquí es este aspecto el uso de if..else
:
if (age < 3) { message = 'Hi, baby!';} else if (age < 18) { message = 'Hello!';} else if (age < 100) { message = 'Greetings!';} else { message = 'What an unusual age!';}
el uso No tradicional de ‘?,’
a Veces el signo de interrogación ?
es utilizado como un reemplazo para el if
:
let company = prompt('Which company created JavaScript?', '');(company == 'Netscape') ? alert('Right!') : alert('Wrong.');
Dependiendo de la condición de company == 'Netscape'
, ya sea la primera o la segunda expresión después de la etiqueta ?
se ejecuta y muestra una alerta.
aquí no asignamos un resultado a una variable. En su lugar, ejecutamos código diferente dependiendo de la condición.
no se recomienda utilizar el operador de signo de interrogación de esta manera.,
la notación es más corta que la instrucción equivalente if
, que atrae a algunos programadores. Pero es menos legible.
Aquí es el mismo código que el uso de if
para la comparación:
let company = prompt('Which company created JavaScript?', '');if (company == 'Netscape') { alert('Right!');} else { alert('Wrong.');}
Nuestros ojos escanear el código verticalmente. Los bloques de código que abarcan varias líneas son más fáciles de entender que un conjunto de instrucciones largo y horizontal.,
el propósito del operador de signo de interrogación ?
es devolver un valor u otro dependiendo de su condición. Por favor úsalo exactamente para eso. Use if
cuando necesite ejecutar diferentes ramas de código.
Leave a Reply