Окружение и замыкания / Введение в программирование, урок 16 (JavaScript ES6)

preview_player
Показать описание
Рассматриваем три важных концепции: окружение, область видимости и замыкания.

Это 16й урок бесплатного практического курса по базовым принципам программирования. В течение курса мы научимся писать программы, изучим основы JS, познакомимся с функциями, тестированием, рекурсией, модулями, окружением, типизациями и другими важными концепциями. Вас ждут анимированные видео, конспекты, тесты и практика.
Рекомендации по теме
Комментарии
Автор

Я ничего лучшего и понятного про замыкания не видел спасибо!

ЮрийФешотт
Автор

Ты лучший, блин это пожалуй самый понятный материально я видел, спасибо тебе за это)

puhd
Автор

ключевым для моего понимания стало, что возвращается функция и она существует отдельно от внешней функции.

DmytroShapovalovUA
Автор

Спасибо! Жду серий про промисы, геттеры и сеттеры :)

imgod
Автор

ahyet ! очень круто, и в плане подачи заморочились, прям поклон....

fedoskamcha
Автор

поражён качеством видео и звука, спасибо, было всё понятно, удачи)

vladvoloshenko
Автор

Нериально крутое объяснение!!!! Огромное спасибо автору за схематичные подход, т. к. такой подход обличает большинство условностей, в отличие от многих материалов, которые уже было мной пересмотрено/прочитано.
Ещё раз спасибо! (лайк + подписка).

MrBelkz
Автор

спасибо за труд) прохожу все уроки этого курса

patriziapepe
Автор

Побольше видео в таком формате.
Отличная работа.

ewan
Автор

я столько видео пересмотрел по JS и это видео 2017го года я нашел только в 2019?? Лайк однозначно и подписка!

ravabat
Автор

Спасибо за качественный материал и отличную подачу

ИгорьСлюньков-ыю
Автор

Комментарий доя продвижения канала, спасибо.

ТарасМ-хф
Автор

Супер спасибо большое процветанию вашему каналу удачи вам!!!

nouchance
Автор

Потрясающее умение рассказать о сложном простым языком.

Вот бы еще задания к упражнениям на курсах так объясняли было бы просто супер. А то иной раз минут тридцать-сорок тратишь на то, что бы понять, что от тебя хочет препод и в итоге приходишь к этому методом тыка и разумеется не сил и внимания не остается на то, что бы абстрактно подойти к решению упражнения.

Возможно, это из-за того, что логически объясняется правильно задание, но мы (ученики) еще не владеем тем типом мышления, на уровне которого авторы курса излагают задание.
Возможно так лучше, а может и нет. Но курсы Хекслета мне очень нравятся.

tou.f
Автор

Переменные, окружённые фигурными скобками, не всегда превращаются в локальное окружение. Переменные типа var, созданные в блоке, создаються в ближайшем внешнем окружении функции или в глобальном.

ylvjmsc
Автор

Хотелось бы практический пример из реального кода

alexg
Автор

Бро, супер! Продолжай, помоги джунам

SticSloyFloy
Автор

Не смотря на то, что автор хорошо объясняет процессы в JS, он немного лукавит, отсюда и такая простота объяснений.

Автор явно использует подмену понятий и вместо "лексическое окружение" часто говорит "область видимости", хотя в объяснении разницы заключена достаточно большая сложность.
Область видимости - это участок кода (вашего кода), которая помогает искать переменные.
Лексическое окружение - это часть контекста выполнения, которая хранит переменные в момент выполнения функции.

Вызывая одну и ту же функцию несколько раз, у нее будет одна и та же область видимости но РАЗНЫЕ контексты выполнения и РАЗНЫЕ лексические окружения.

danilx
Автор

Хороший урок. Но есть замечания по поводу блочной области видимости. Вы использовали в вашем примере const, поэтому переменные объявленные в блоке кода(внутри фигурных скобок {}) будут иметь блочную область видимости, так же как если бы вы использовали let. Но в случае с var переменная была бы привязана уже не к блоку кода, а к функции или глобальной области видимости которая содержит этот блок. Т.е. недостаточно просто использовать блок кода {}, чтобы привязать переменные к его области видимости нужно использовать let/const.

patrickbateman
Автор

6:47
Пожалуйста помогите понять почему автор утверждает что переменная name удалена к моменту исполнения функции printName() Очень пожалуйста!

Насколько мне известно переменная myPrinter хранит в себе область видимости для функции createPrinter(), тут же и хранится переменная name=King. Для удаления области видимости функции createPrinter() нужно переназначить переменную myPrinter. Например myPrinter=0

RubinWadim