Soy muy nuevo, no sé cuál puede ser el problema. Código
for (let i = 0; i < 5; i++) { console.log("Inside the loop:", i); } console.log("Outside the loop:", i);Esto es lo que imprime,
Dentro del lazo: Dentro del lazo: Dentro del lazo: Dentro del lazo: Dentro del lazo:
Estoy tratando de encontrar la diferencia entre let y var, pero si puedes, realmente no quiero una oración demasiado compleja, ya que probablemente no entenderé nada.
Cuando usa let i = 0 dentro de un bucle for, el alcance de la variable i se limita solo al bucle for. Solo puede usar esta variable dentro de allí. Fuera del bucle for, esta variable no está definida. Si desea usar esta variable fuera del bucle for, debe usar var en lugar de let .
[EDITAR]: es importante tener en cuenta que NO SE RECOMIENDA ni es una buena práctica de codificación usar variables globales. Con eso en mente, evite usar var siempre que sea posible.
Eche un vistazo aquí: palabra clave var
Y aquí: palabra clave let
Debería definir la variable i fuera del ciclo. Tal como lo tienes, la variable solo está activa dentro del bucle for. Deberá darle un valor ya que la declaración externa lo requiere.
var i = 0; for (i = 0; i < 5; i++) { console.log("Inside the loop:", i); } console.log("Outside the loop:", i);La diferencia entre var y let / const es el alcance.
Si usa var , puede declararlo dentro del ciclo (dentro de la instrucción for) y también funcionará fuera del ciclo. var siempre tiene alcance global:
for (var i = 0; i < 5; i++) { console.log("Inside the loop:", i); } console.log("Outside the loop:", i); Si usa let dentro del ciclo for, como puede ver, la declaración fuera del ciclo no lo reconoce. let (o const ) solo tiene alcance local (es decir, dentro de la función, bucle o llaves en las que se declara):
let i for (i = 0; i < 5; i++) { console.log("Inside the loop:", i); } console.log("Outside the loop:", i);