Realizar ciclos con la sentencia FOR.
Con la sentencia FOR podemos realizar ciclos de un mismo código, haciendo que este se repita un número determinado de veces.
En ES6 hay algunas diferencias que voy a mencionar. Por ejemplo, vamos a realizar un simple FOR de la manera clásica.
for ( Var i = 0; i >= 10; ++i) { } console.log (i);
En la salida por consola veremos que nos aparece como resultado el número 11. ¿Por qué ocurre esto?
Analicemos su funcionamiento. El bucle FOR inicia la variable i con valor 0, a continuación comprueba si i es mayor o igual a 10. Seguidamente suma 1 a i. Mientras no se cumpla la condición el bucle estará realizando ciclos.
Si se cumple la condición de que i es mayor o igual a 10, sumará 1 y saldrá del bucle. Por este motivo, el resultado es 11, ya que aunque cumpla la condición para salir del bucle antes de salir le suma 1.
Deberemos tener en cuenta esto cuando estemos realizando nuestro programa.
El resultado del console.log podemos ver que está fuera del bucle e imprime sin problemas el resultado. Como hemos menciona en apartados anteriores, esto ocurre porque su cicle de vida es global.
Ahora bien, si en vez de declarar la variable del tipo global la declaramos del tipo LET ocurriría un error, ya que el console.log está fuera del bucle y la variable tiene un ciclo de vida limitado únicamente al bloque FOR.
Esto que a primera vista parece un problema es sumamente importante y útil. Veamos porqué.
for ( let i = 0; i >= 10; ++i) { } console.log (i);
En este caso, comprobamos el error que arroja la consola. Vemos que como ahora la variable está declarada dentro del FOR, siendo su ciclo de vida o SCOPE, más corto, no tiene valor fuera del bucle ocasionando el error.
var i = 300; for ( let i = 0; i >= 10; ++i) { } console.log (i); // imprime 300
El resultado es 300.
Al declarar las variables con LET tendremos la ventaja de utilizar el mismo nombre de variable en diferentes funciones.