ES6 и не только [Кайл Симпсон] (pdf) читать постранично

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


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

ББК 32.988.02-018
УДК 004.738.5
С37

Симпсон К.
С37

ES6 и не только. — СПб.: Питер, 2017. — 336 с.: ил. — (Серия
«Бестселлеры O’Reilly»).
ISBN 978-5-496-02445-7
Даже если у вас уже есть опыт работы с JavaScript, скорее всего, язык вы в полной
мере не знаете. Особое внимание в этой книге уделяется новым функциям, появившимся в Ecmascript 6 (ES6) — последней версии стандарта JavaScript.
ES6 повествует о тонкостях языка, малознакомых большинству работающих на
JavaScript программистов. Вооружившись этими знаниями, вы достигнете подлинного
мастерства; выучите новый синтаксис; научитесь корректно использовать итераторы,
генераторы, модули и классы; сможете более эффективно работать с данными; познакомитесь с новыми API, например Array, Object, Math, Number и String; расширите
функционал программ с помощью мета-программирования.

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

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

ISBN 978-5-496-02445-7

© 2016 Piter Press Ltd.
Authorized Russian translation of the English edition of You
Don’t Know JS: ES6 & Beyond, ISBN 9781491904244
© 2016 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.
© Перевод на русский язык ООО Издательство «Питер», 2017
© Издание на русском языке, оформление ООО Издательство
«Питер», 2017
© Серия «Бестселлеры O’Reilly», 2017

Оглавление

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Предисловие. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Цели и задачи. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Обзор. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Условные обозначения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Использование примеров кода . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Safari® Books в Интернете . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
От издательства. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Глава 1. ES: современность и будущее . . . . . . . . . . . . . . . . 17
Поддержка версий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Транскомпиляция. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Подводим итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Глава 2. Синтаксис. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Объявления на уровне блоков кода. . . . . . . . . . . . . . . . . . . . . . . . 25
Операторы Spread и Rest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Значения параметров по умолчанию. . . . . . . . . . . . . . . . . . . . . . . 38
Деструктурирующее присваивание. . . . . . . . . . . . . . . . . . . . . . . . 44
Расширения объектных литералов . . . . . . . . . . . . . . . . . . . . . . . . 65
Шаблонные строки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Стрелочные функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Цикл for..of. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Регулярные выражения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

6

Оглавление

Расширения числовых литералов . . . . . . . . . . . . . . . . . . . . . . . . 107
Unicode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Тип данных Symbol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Подводим итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Глава 3. Структура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Итераторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Генераторы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Модули. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Классы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Подводим итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

Глава 4. Управление асинхронными операциями. . . . . . 202
Обещания. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Генераторы и обещания. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Подводим итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Глава 5. Коллекции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
TypedArrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Карты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .