¿Cuál es la diferencia entre usar let en el cuerpo del bucle for y var específicamente en el cuerpo de un bucle for de JavaScript? ¿Funcionan de manera diferente y por qué?
Ejemplo:
usando let
for (let i = 0; i < 10; i++) { }Usando var
for (var i = 0; i < 10; i++) { }¿Funcionan de la misma manera o de manera diferente detrás de escena? ¿Alguno realmente funciona mejor?
¿Esta diferencia se aplica también a un ciclo while y a un ciclo do-while?
let tiene un alcance de bloque y var no lo es. Con let , no puedes usar i fuera del cuerpo del bucle for. Con var (función con alcance o alcance global) puede hacerlo.
for (var j = 0; j < 10; j++) { } console.log(j); for (let i = 0; i < 10; i++) { } console.log(i); Puede ejecutar el bucle for con var en su consola de Chrome y verá i se ha adjuntado al objeto de la ventana.