El JavaScript Si La instrucción realiza una acción basada en una condición, un escenario común en todos los lenguajes de programación. Si La instrucción prueba un bit de datos contra una condición y luego especifica algún código que se ejecutará si la condición es verdadera, así:
si la condición
ejecuta este código
los Si declaración casi siempre se combina con el más declaración porque generalmente desea definir un bit de código alternativo para ejecutar. Consideremos un ejemplo:
if ('Stephen' === nombre)
mensaje = "Bienvenido de nuevo Stephen";
más
mensaje = "Bienvenido" + nombre;
Este código devuelve "Bienvenido de nuevo Stephen" si nombre es igual a Stephen; de lo contrario, devuelve "Bienvenido" y luego cualquier valor de la variable nombre contiene.
JavaScript nos proporciona una forma alternativa de escribir un Si declaración cuando las condiciones verdaderas y falsas simplemente asignan valores diferentes a la misma variable.
Esta forma más corta omite la palabra clave Si así como las llaves alrededor de los bloques (que son opcionales para declaraciones individuales). También movemos el valor que estamos estableciendo tanto en las condiciones verdaderas como falsas al frente de nuestra declaración única e incorporamos este nuevo estilo de Si declaración en la declaración en sí.
Así es como se ve esto:
variable = (condición)? valor verdadero: valor falso;
Entonces nuestro Si la declaración de arriba podría escribirse todo en una línea como:
mensaje = ('Stephen' === nombre)? "Bienvenido de nuevo Stephen": "Bienvenido" + nombre;
En lo que respecta a JavaScript, esta declaración es idéntica al código más largo de arriba.
La única diferencia es que escribir la declaración de esta manera en realidad proporciona a JavaScript más información sobre lo que está haciendo la declaración if. El código puede ejecutarse de manera más eficiente que si lo escribiéramos de la manera más larga y legible. Esto también se llama operador ternario.
Esta forma de codificar una instrucción if puede ayudar a evitar el código detallado, particularmente en anidado si declaraciones. Por ejemplo, considere este conjunto de instrucciones anidadas if / else:
respuesta var;
si (a == b)
si (a == c)
respuesta = "todos son iguales";
más
respuesta = "a y b son iguales";
más
si (a == c)
respuesta = "a y c son iguales";
más
si (b == c)
respuesta = "byc son iguales";
más
respuesta = "todos son diferentes";
Este código asigna uno de los cinco valores posibles a una sola variable. Usando esta notación alternativa, podemos acortar considerablemente esto en una sola declaración que incorpora todas las condiciones:
var respuesta = (a == b)? ((a == c)? "todos son iguales":
"a y b son iguales"): (a == c)? "ayc son iguales": (b == c) ?
"byc son iguales": "todos son diferentes";
Tenga en cuenta que esta notación solo se puede usar cuando todos las diferentes condiciones que se están probando están asignando diferentes valores a mismo variable.