Почему поведение let, var в цикле одинаково?
В видео наверняка говорилось про асинхронные функции. Посмотрите так:for (var iIi = 0; iIi < 3; iIi++) {
  setTimeout(() => console.log(iIi), 0);
}
for (let jJj = 0; jJj < 3; jJj++) {
  setTimeout(() => console.log(jJj), 0);
}
В видео наверняка говорилось про асинхронные функции. Посмотрите так:for (var iIi = 0; iIi < 3; iIi++) {
  setTimeout(() => console.log(iIi), 0);
}
for (let jJj = 0; jJj < 3; jJj++) {
  setTimeout(() => console.log(jJj), 0);
}