{Вы пока еще не знаете JS} Область видимости и замыкания

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Вы пока еще не знаете JS. И Кайл Симпсон признается, что тоже его не знает (по крайней мере полностью)… И никто не знает. Но все мы можем начать работать над тем, чтобы узнать его лучше. Сколько бы времени вы ни провели за изучением языка, всегда можно найти что-то еще, что стоит изучить и понять на другом уровне. Вы уже прочитали «Познакомьтесь, JavaScript»? Тогда откройте вторую книгу серии «Вы пока еще не знаете JS», чтобы познакомиться поближе с первым из трех столпов JavaScript — системой областей видимости и функциональными замыканиями, а также с мощным паттерном проектирования «Модуль». Пора освоить правила лексических областей видимости для размещения переменных и функций в правильных позициях. И заглянуть на более низкий уровень, ведь магия с хранением состояния модулей базируется на замыканиях, использующих систему лексических областей видимости.

Author(s): Кайл Симпсон
Series: Библиотека программиста
Edition: 2
Publisher: Питер
Year: 2022

Language: Russian
Commentary: Vector PDF
Pages: 240
City: СПб.
Tags: JavaScript; Lexical Scope; Closures

Благодарности
Вступление
Предисловие
Части языка
Название?
1. Что такое область видимости?
О книге
Компилируемые и интерпретируемые языки
Компиляция кода
С точки зрения компилятора
Изменение области видимости во время выполнения
2. Лексическая видимость
Камешки, банки, рамки… Ну и ну!
Дружеское общение
Вложенная область видимости
Развитие метафор
Продолжение диалога
3. Цепочка областей видимости
«Поиск» (большей частью) концептуален
Затенение
Область видимости имени функции
Стрелочные функции
Итоги
4. Глобальная область видимости
Для чего нужна глобальная область видимости?
Где именно находится глобальная область видимости?
Node
globalThis
Глобальная осведомленность
5. (Не такой уж) тайный жизненный цикл переменных
Когда можно использовать переменную?
Поднятие: еще одна метафора
Повторное объявление?
Неинициализированные переменные (TDZ)
После инициализации
6. Ограничение раскрытия областей видимости
Принцип наименьшего раскрытия
Сокрытие в функциональной области видимости
Создание областей видимости с блоками
Объявления функций в блоках (FiB)
Напоследок о блоках
7. Использование замыканий
Как увидеть замыкание
Накопление замыканий
Типичные замыкания: Ajax и события
Жизненный цикл замыканий и сборка мусора (GC)
Альтернативная точка зрения
Для чего нужны замыкания?
Напоследок о замыканиях
8. Паттерн «Модуль»
Инкапсуляция и принцип наименьшего раскрытия (POLE)
Что такое модуль?
Модули Node CommonJS
Современные модули ES (ESM)
На выходе из области видимости
Приложение А. Дальнейшее изучение
Предполагаемые области видимости
Область видимости имени функции
Анонимные и именованные функции
Поднятие: функции и переменные
В защиту var
Для чего была создана TDZ?
Остаются ли синхронные обратные вызовы замыканиями?
Вариации на тему классических модулей
Универсальные модули (UMD)
Приложение Б. Практика
Камешки и банки
Замыкания (часть 1)
Замыкания (часть 2)
Замыкания (часть 3)
Модули
Предлагаемые решения