Область видимости и замыкания [Кайл Симпсон] (pdf) читать постранично

-  Область видимости и замыкания  [2-е международное издание] (пер. E. Матвеев) (а.с. Вы пока еще не знаете JS) (и.с. Библиотека программиста) 8.29 Мб, 240с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - Кайл Симпсон

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

КАЙЛ
СИМПСОН

ОБЛАСТЬ ВИДИМОСТИ
И ЗАМЫКАНИЯ
2Е М Е Ж Д У Н А Р ОД Н О Е И З Д А Н И Е

{

ВЫ ПОКА
ЕЩЕ
НЕ ЗНАЕТЕ

JS

2022

}

Кайл Симпсон
{Вы пока еще не знаете JS}
Область видимости и замыкания. 2-е межд. изд.
Перевел с английского Е.Матвеев

Заведующая редакцией
Ю. Сергиенко
Ведущий редактор
А. Юринова
Корректоры
М. Одинокова, Г. Шкатова
Верстка
Е. Неволайнен

ББК
УДК

32.988.02-018
004.738.5

Симпсон Кайл
С37

{Вы пока еще не знаете JS} Область видимости и замыкания.
2-е межд. издание. — СПб.: Питер, 2022. — 240 с.: ил. — (Серия
«Библиотека программиста»).
ISBN 978-5-4461-1876-2
Вы пока еще не знаете JS. И Кайл Симпсон признается, что тоже его не знает
(по крайней мере полностью)… И никто не знает. Но все мы можем начать работать
над тем, чтобы узнать его лучше. Сколько бы времени вы ни провели за изучением языка, всегда можно найти что-то еще, что стоит изучить и понять на другом
уровне. Вы уже прочитали «Познакомьтесь, JavaScript»? Тогда откройте вторую
книгу серии «Вы пока еще не знаете JS», чтобы познакомиться поближе с первым
из трех столпов JavaScript — системой областей видимости и функциональными
замыканиями, а также с мощным паттерном проектирования «Модуль». Пора
освоить правила лексических областей видимости для размещения переменных
и функций в правильных позициях. И заглянуть на более низкий уровень, ведь
магия с хранением состояния модулей базируется на замыканиях, использующих
систему лексических областей видимости.

16+ (В соответствии с Федеральным законом от 29 декабря 2010 г.
№ 436-ФЗ.)

ISBN 978-1647862213 англ.
ISBN 978-5-4461-1876-2

© Kyle Simpson
© Перевод на русский язык
ООО Издательство «Питер», 2022
© Издание на русском языке,
оформление ООО Издательство «Питер», 2022
© Серия «Библиотека программиста», 2022

Права на издание получены по соглашению с Kyle Simpson. Все права защищены. Никакая
часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Изготовлено в России. Изготовитель: ООО «Прогресс книга». Место нахождения и фактический
адрес: 194044, Россия, г. Санкт-Петербург, Б. Сампсониевский пр., д. 29А, пом. 52.
Тел.: +78127037373. Дата изготовления: 08.2021. Наименование: книжная продукция.
Срок годности: не ограничен. Налоговая льгота — общероссийский классификатор продукции ОК
034-2014, 58.11.12 — Книги печатные профессиональные, технические и научные.
Импортер в Беларусь: ООО «ПИТЕР М», 220020, РБ, г. Минск, ул. Тимирязева, д. 121/3, к. 214,
тел./факс: 208 80 01. Подписано в печать 13.08.21. Формат 60х90/16. Бумага офсетная.
Усл. п. л. 15,000. Тираж 1000. Заказ

Оглавление

Благодарности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
Предисловие. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Вступление. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Части языка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Название?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
От издательства. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Глава 1. Что такое область видимости? . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
О книге. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Компилируемые и интерпретируемые языки. . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Компиляция кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
С точки зрения компилятора. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Изменение области видимости во время выполнения. . . . . . . . . . . . . . . . . . . 29

Глава 2. Лексическая видимость. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Камешки, банки, рамки… Ну и ну!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Дружеское общение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Вложенная область видимости. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Развитие метафор. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Продолжение диалога. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Глава 3. Цепочка областей видимости . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
«Поиск» (большей частью) концептуален. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Затенение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6

Оглавление

Область видимости имени функции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Стрелочные функции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Итоги. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Глава 4. Глобальная область видимости. . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Для чего нужна глобальная область видимости?. . . . . . . . . . . . . . . . . . . . . . . 64
Где именно находится глобальная область видимости?. . . . . . . . . . . . . . . . . 68
Node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
globalThis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Глобальная осведомленность. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Глава 5. (Не такой