Ваш город
Москва
Ваш город Москва?
+7 928 117-10-37
Отдел продаж
Режим работы:
Пн-Сб 10:00—18:00;
Вс выходной
КАТАЛОГ ТОВАРОВ
0КорзинаПусто0 руб.
Товары в корзине
корзина пуста
КАТАЛОГ ТОВАРОВ
Корзина пуста0 руб.0
Товары в корзине
корзина пуста
Корзина пуста0 руб.0
Товары в корзине
корзина пуста

Оглавление

Введение. 11

Задача. 12
Благодарности. 14
О книге. 22
Типографские соглашения. 23
Использование программного кода примеров. 24
От издательства. 24
ЧАСТЬ 1. ОБЛАСТЬ ВИДИМОСТИ И ЗАМЫКАНИЯ...... 25
Предисловие. 26
Глава 1. Что такое область видимости?. 28
Немного теории компиляторов. 29
Разбираемся в областях видимости. 31
Участники. 31
Туда и обратно. 32
Немного терминологии. 33
Общение Движка с Областью видимости. 36
Упражнение. 37
Вложенная область видимости. 38
Метафоры. 39
Ошибки. 41
Итоги. 42
Ответ на упражнение. 43
Глава 2. Лексическая область видимости. 44
Стадия лексического анализа. 45
Поиск. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
Искажение лексической области видимости. 48
eval. 49
with . 52
Быстродействие. 55
Итоги. 56
Глава 3. Функциональные и блочные
области видимости. 57
Области видимости из функций. 57
Как скрыться у всех на виду. 59
Предотвращение конфликтов. 61
Функции как области видимости. 64
Анонимные и именованные функциональные выражения. 66
Немедленный вызов функциональных выражений . 67
Блоки как области видимости. 70
with . 72
try/catch. 73
let. 74
const. 80
Итоги. 80
Глава 4. Поднятие. 82
Курица или яйцо? . 82
Компилятор наносит ответный удар. 84
Сначала функции. 87
Итоги. 89
Глава 5. Замыкание области видимости. 90
Просветление . 91
Технические подробности . 92
Теперь я вижу. 96
Циклы и замыкания. 99
Снова о блочной области видимости . 102
Модули . 103
Современные модули . 109
Будущие модули. 111
Итоги. 113
Приложение А. Динамическая область видимости . 115
Приложение Б. Полифилы для блочной
области видимости. 118
Traceur. 120
Неявные и явные блоки. 120
Быстродействие. 123
Приложение В. Лексическое this . 124
ЧАСТЬ 2. THIS И ПРОТОТИПЫ ОБЪЕКТОВ..............129
Предисловие. 130
Глава 6. Что такое this?. 133
Для чего нужно this? . 133
Путаница. 135
Сама функция. 136
Область видимости. 141
Что такое this?. 143
Итоги. 144
Глава 7. this обретает смысл!. 145
Место вызова. 145
Ничего кроме правил. 147
Связывание по умолчанию . 147
Неявное связывание. 149
Явное связывание. 154
Связывание new. 158
Все по порядку . 161
Определение this . 166
Исключения связывания. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
Игнорирование this. 167
Косвенные ссылки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
Мягкое связывание. 171
Лексическое поведение this. 173
Итоги. 176
Глава 8. Объекты . 177
Синтаксис . 177
Тип. 178
Встроенные объекты. 179
Содержимое. 182
Вычисление имен свойств. 184
Свойства и методы. 185
Массивы. 188
Дублирование объектов . 189
Дескрипторы свойств . 192
Неизменяемость. 197
[[Get]] . 200
[[Put]]. 202
Геттеры и сеттеры . 203
Существование. 206
Перебор. 209
Итоги. 215
Глава 9. Классы. 217
Теория классов . 218
Паттерн проектирования «класс». 220
«Классы» JavaScript . 221
Механика классов . 222
Строительство . 222
Конструктор. 224
Наследование . 225
Полиморфизм. 228
Множественное наследование. 231
Примеси . 232
Явные примеси. 233
Неявные примеси. 241
Итоги. 242
Глава 10. Прототипы . 244
[[Prototype]]. 244
Object.prototype . 247
Назначение и замещение свойств. 247
«Класс». 251
Функции «классов». 251
«Конструкторы». 256
Механика. 259
Наследование (на основе прототипов). 263
Анализ связей «классов» . 268
Связи между объектами. 273
Создание связей вызовом Create(). 273
Связи как резерв?. 277
Итоги. 279
Глава 11. Делегирование поведения. 281
Проектирование, ориентированное на делегирование . 282
Теория классов. 283
Теория делегирования . 285
Сравнение моделей мышления. 292
Классы и объекты . 298
«Классы» виджетов . 298
Делегирование для объектов Widget. 302
Упрощение архитектуры. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305
Расставание с классами. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309
Более приятный синтаксис. 312
Нелексичность . 314
Интроспекция . 316
Итоги. 321
Приложение Г. Классы ES6. 322
class. 323
Проблемы class . 325
Статический > динамический?. 331
Итоги. 332
Об авторе. 333

Мы используем файлы cookie, чтобы сайт был лучше для вас.