Declaraciones IF de anidamiento de JavaScript

Anidamiento si / si no declaraciones ayuda a organizar y aislar condiciones para evitar probar la misma condición dos veces o para minimizar la cantidad de veces que se deben realizar varias pruebas.

Mediante el uso Si En las declaraciones con operadores de comparación y lógicos, podemos configurar el código que se ejecutará si se cumple una combinación específica de condiciones. No siempre queremos probar la condición completa para ejecutar un conjunto de declaraciones si toda la prueba es verdadera y otra si es falsa. Es posible que deseemos elegir entre varias declaraciones diferentes, dependiendo de qué combinación particular de condiciones es verdad.

Supongamos, por ejemplo, que tenemos tres valores para comparar y deseamos establecer resultados diferentes dependiendo de cuál de los valores sea igual. El siguiente ejemplo muestra cómo podemos anidar Si declaraciones para probar esto (en negrita a continuación)

respuesta var;

si (a == b) {

si (a == c) {

respuesta = "todos son iguales";
} más {
instagram viewer

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";
}
 }

}

La forma en que funciona la lógica aquí es:

  1. Si la primera condición es verdadera (
    si (a == b)
    ), entonces el programa verifica si anidado si condición (
    si (a == c)
    ). Si la primera condición es falsa, el programa pasa a más condición.
  2. Si el anidado si es cierto, la declaración se ejecuta, es decir, "todos son iguales".
  3. Si el anidado si es falso, entonces el más se ejecuta la instrucción, es decir, "a y b son iguales".

Aquí hay algunas cosas para notar cómo se codifica esto:

  • Primero, creamos la variable responder para mantener el resultado antes de comenzar el Si declaración, haciendo la variable global. Sin eso, habríamos necesitado incluir la variable en el frente de todas las declaraciones de asignación, ya que sería una variable local.
  • En segundo lugar, hemos sangrado cada anidado Si declaración. Esto nos permite rastrear más fácilmente cuántos niveles anidados de declaraciones hay. También aclara que hemos cerrado el número correcto de bloques de código para completar todos los Si declaraciones que abrimos. Puede encontrar que es más fácil colocar las llaves allí primero para cada Si antes de comenzar a escribir el código que pertenece dentro de ese bloque.

Podemos simplificar un poco una sección de este código para evitar tener que anidar Si declaraciones tanto. Donde un entero otro bloque se compone de un solo Si declaración, podemos omitir las llaves alrededor de ese bloque y mover el Si condicionarse en la misma línea que el más, utilizando la condición "else if". Por ejemplo:

respuesta var;

si (a == b) {

 si (a == c) {

 respuesta = "todos son iguales";

 } más {

 respuesta = "a y b son iguales";

 }

} si no (a == c) {

respuesta = "a y c son iguales";
} más si (b == c) {
respuesta = "byc son iguales";
} más {

 respuesta = "todos son diferentes";

}

Anidado si / entonces las declaraciones son comunes en todos los lenguajes de programación, no solo JavaScript. Los programadores novatos a menudo usan múltiples si / entonces o si / si no declaraciones en lugar de anidarlas. Si bien este tipo de código funcionará, rápidamente se volverá detallado y duplicará las condiciones. Anidar declaraciones condicionales crea más claridad sobre la lógica del programa y da como resultado un código conciso que puede ejecutarse o compilar Más rápido.

instagram story viewer