03. Loops

var, let и const отличаются в том, как ведут себя в циклах:

  • var-выражение создает одну переменную на весь цикл.

  • let-выражение создает новую переменную каждый шаг цикла.

  • const-выражение создает новую неизменяемую переменную на каждый шаг цикла.

// Using var
const arr = [];
for (var i = 0; i < 3; i++) {
  arr.push(() => i);
}
arr.map(x => x()); // [3,3,3]

// Using let
for (let i = 0; i < 3; i++) {
  arr.push(() => i);
}
arr.map(x => x()); // [0,1,2]

Last updated