Замыкания и объекты [Кайл Симпсон] (pdf) читать постранично

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


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

this & Object Prototypes
Scope & Closures

Kyle Simpson

ВЫ НЕ ЗНАЕТЕ

ЗАМЫКАНИЯ
ОБЪЕКТЫ
КАЙЛ СИМПСОН

ББК 32.988-02-018
УДК 004.738.5
С37

Симпсон К.
С37 {Вы не знаете JS} Замыкания и объекты. — СПб.: Питер, 2019. —
336 с.: ил. — (Серия «Бестселлеры O’Reilly»).
ISBN 978-5-4461-1255-5
Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы
не понимаете язык в полной мере. Это лаконичное, но при этом глубоко продуманное
руководство познакомит вас с областями видимости, замыканиями, ключевым словом this
и объектами — концепциями, которые необходимо знать для более эффективного и производительного программирования на JS. Вы узнаете, почему они работают и как замыкания
могут стать эффективной частью вашего инструментария разработки.
Как и в других книгах серии «Вы не знаете JS», здесь показаны нетривиальные аспекты
языка, от которых программисты JavaScript предпочитают держаться подальше. Вооружившись этими знаниями, вы достигнете истинного мастерства JavaScript.

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

ББК 32.988-02-018
УДК 004.738.5
Права на издание получены по соглашению с O’Reilly. Все права защищены. Никакая часть
данной книги не может быть воспроизведена в какой бы то ни было форме без письменного
разрешения владельцев авторских прав.
Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги. Издательство не несет ответственности за доступность материалов, ссылки на
которые вы можете найти в этой книге. На момент подготовки книги к изданию все ссылки на
интернет-ресурсы были действующими.

ISBN 978-1491904152 англ.

ISBN 978-5-4461-1255-5

Authorized Russian translation of the English edition of You
Don’t Know JS: this & Object Prototypes (ISBN 9781491904152)
© 2014 Getify Solutions, Inc.
Authorized Russian translation of the English edition of You
Don’t Know JS: Scope & Closures (ISBN 9781449335588)
© 2014 Getify Solutions, Inc.
This translation is published and sold by permission of O’Reilly
Media, Inc., which owns or controls all rights to publish and sell
the same.
© Перевод на русский язык ООО Издательство «Питер»,
2019
© Издание на русском языке, оформление
ООО Издательство «Питер», 2019
© Серия «Бестселлеры O’Reilly», 2019

Оглавление

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Задача. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Благодарности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
О книге. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Типографские соглашения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Использование программного кода примеров. . . . . . . . . . . . . . . . . 24
От издательства. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

ЧАСТЬ 1. ОБЛАСТЬ ВИДИМОСТИ И ЗАМЫКАНИЯ......25
Предисловие. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Глава 1. Что такое область видимости?. . . . . . . . . . . . . . . 28
Немного теории компиляторов. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Разбираемся в областях видимости . . . . . . . . . . . . . . . . . . . . . . . . 31
Участники. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Туда и обратно. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Немного терминологии. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Общение Движка с Областью видимости . . . . . . . . . . . . . . . . . . . . 36
Упражнение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Вложенная область видимости. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Метафоры. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Ошибки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6

Оглавление

Итоги. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Ответ на упражнение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Глава 2. Лексическая область видимости. . . . . . . . . . . . . 44
Стадия лексического анализа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Поиск. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
Искажение лексической области видимости. . . . . . . . . . . . . . . . . . 48
eval. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
with . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Быстродействие. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Итоги. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Глава 3. Функциональные и блочные
области видимости. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Области видимости из функций. . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Как скрыться у всех на виду. . . . . . . . .