Геннадий Николаев

Отличие let от var: Переменная, объявленная через var, видна везде в функции. Переменная, объявленная через let, видна только в рамках блока {...}, в котором объявлена.

А вот в уроке "Окружение", к сожалению, вы это не упомянули. И у новичков может сложиться мнение, что область видимости переменных в javascript на уровне блоков кода, хотя это справедливо только в случае использования let. Это очень сильно сбивает, особенно тех, кто захочет почитать об области видимости переменных JavaScript на других ресурсах - и натолкнется на противоречие с вашим уроком (ведь в других местах примеры приводятся с использованием var, а у вас let).

Поправьте меня если я где-то не прав.

Но несмотря на отдельные замечания, в целом по вашим курсам хочу сказать: возможно в Рунете аналогов нет, продолжайте в том же духе.

5 8

Нужно не забывать что этот курс по основам программирования, а не js, поэтому специфика нужная js разработчикам в нем не дается и не нужна, она только отвлекает от сути вещей.

p.s. С введением let, var полностью потерял актуальность и может рассматриваться только как legacy элемент.

p.s.s. мы в принципе будем давать только es6.

1

спасибо за ответ! только мне как новичку теперь интересно, что такое legacy элемент. Если не сложно, напишите в двух словах что это такое.

1

вроде разобрался, ответ не нужен.

1

legacy - это что-то устаревшее. Любой язык программирования развивается и у него появляется legacy, причем чем меньше проектировали язык в самом начале (js относится к таковым), тем больше legacy рождается в языке в процессе развития. Если бы javascript делали более вдумчиво, то var бы вообще не появился, и теперь его не надо использовать, но из языка его никогда не уберут, потому что иначе сломается обратная совместимость и такой язык никому не будет нужен.

7

как я понял, из языка его не уберут, потому, что, старые коды написанные с использованием вар не будут работать? кстати в поисковике по запросу "чем отличается let от var" этот топик 1))

6

Похожие вопросы

Egor Lenivin 05 ноября 2019 →

Подскажите, а возможен экспорт локальных переменных в другие модули? Например: const func = (a, b) => { ...

Владислав Кузнецов 15 октября 2019 →

подскажите, что делаю не так. https://ru.hexlet.io/code_reviews/158386

Дмитрий Капустин 03 октября 2019 →

Помогите найти ошибку пожалуйста. Все срабатывает кроме greaterThan. https://ru.hexlet.io/code_reviews/154139

bitchplease 13 сентября 2019 →

А почему перед началом теста нет объяснения конструкции const f = (x) => () => () => x; ?? Как ее понимать?

Анна 17 августа 2019 →

Правильно ли будет рассматривать замыкание в разрезе областей видимости? Просто мыслить в терминах области ...

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →