Novedades ES6

Estructuras condicionales anidadas en JavaScript

Multiples sentencias if...else pueden ser anidadas para crear una cláusula else if , ejecuta una sentencia si una condición específicada es evaluada como verdadera. Si la condición es evaluada como falsa, otra sentencia puede ser ejecutada.

Decimos que una estructura condicional es anidada cuando por la rama del verdadero o el falso de una estructura condicional hay otra estructura condicional.
Ejemplo: Confeccionar un programa que pida por teclado tres notas de un alumno, calcule el promedio e imprima alguno de estos mensajes:

  • Si el promedio es >=7 mostrar "Promocionado".
  • Si el promedio es >=4 y <7 mostrar "Regular".
  • Si el promedio es <4 mostrar "Reprobado".

<html>
<head>
</head>
<body>
<script language="javascript">
var nota1,nota2,nota3;
nota1=prompt('Ingrese 1ra. nota:','');
nota2=prompt('Ingrese 2da. nota:','');
nota3=prompt('Ingrese 3ra. nota:','');
//Convertimos los 3 string en enteros
nota1=parseInt(nota1);
nota2=parseInt(nota2);
nota3=parseInt(nota3);
var pro;
pro=(nota1+nota2+nota3)/3;
if (pro>=7)
{
document.write('promocionado');
}
else { if (pro>=4)
{
document.write('regular');
}
else
{
document.write('reprobado');
}
}

</script>
</body>
</html>

Analicemos el siguiente programa. Se ingresan tres string por teclado que representan las notas de un alumno, se transformas a variables enteras y se obtiene el promedio sumando los tres valores y dividiendo por 3 dicho resultado.
Primeramente preguntamos si el promedio es superior o igual a 7, en caso afirmativo por la rama del verdadero de la estructura condicional mostramos un mensaje que indique 'Promocionado' (con comillas indicamos un texto que debe imprimirse en pantalla).
En caso que la condición nos de falso, por la rama del falso aparece otra estructura condicional, porque todavía debemos averiguar si el promedio del alumno es superior/ igual a cuatro o inferior a cuatro.

Los comentarios en JavaScript los hacemos disponiendo dos barras previas al comentario:

//Convertimos los 3 string en enteros

Si queremos disponer varias líneas de comentarios tenemos como alternativa:

/* linea de comentario 1.
linea de comentario 2. etc.
*/ Es decir encerramos el bloque con los caracteres /* */

Multiples sentencias if...else pueden ser anidadas para crear una cláusula else if:

if (condición1)
sentencia1
else if (condición2)
sentencia2
else if (condición3)
sentencia3
...
else
sentenciaN

Para entender como esto funciona, así es como se vería si el anidamiento hubiera sido indentado correctamente:

if (condición1)
sentencia1
else
    if (condición2)
        sentencia2
        else
            if (condición3)
...