Elena, У var функциональная область видимости, а не блочная, поэтому оборачивая
() => console.log(i)
в функцию, вы таким образом создаёте функцию и передаёте туда значение переменной "i".
С релизом стандарта ES6 появилась возможность создавать переменные, приуроченные к отдельным блокам. Вот у let блочная область видимости, поэтому для создания лексического окружения (scope) достаточно просто обвернуть код в фигурные скобки: { ... }, поэтому в примере
for(let i = 0; i < docs.length; i++) {
docs[i].onclick = () => console.log(i)
}
в консоль будет выводиться правильное значение переменной "i".
Syschel, Я же не написал «изучай тот который нравится, даже если очевидно что работу потом не найдешь». Понятное дело, если язык "мёртвый" и вакансий нет, то явно не стоит его изучать.
uzi_no_uzi, горизонтальный скролл там и до этого был из-за стрелок, тебе нужно их отключить, если не нужны. Если нужны, то разместить, так чтобы не вылезали за пределы родителя.
() => console.log(i)
в функцию, вы таким образом создаёте функцию и передаёте туда значение переменной "i".
С релизом стандарта ES6 появилась возможность создавать переменные, приуроченные к отдельным блокам. Вот у let блочная область видимости, поэтому для создания лексического окружения (scope) достаточно просто обвернуть код в фигурные скобки: { ... }, поэтому в примере
в консоль будет выводиться правильное значение переменной "i".