ECMAScript 6 для разработчиков, Закас Н.

490 грн.

Описание

ECMAScript 6 для разработчиков, Закас Н. купить книга Україна

Обкладинка – м”яка

Рік видання – 2017

Кількість сторінок – 352

ISBN – 978-5-496-03037-3

Бумага – біла, офсет

Про книгу ECMAScript 6 для разработчиков, Закас Н.

Познакомьтесь с радикальными изменениями в языке JavaScript, которые произошли благодаря новому стандарту ECMAScript 6. Николас Закас — автор бестселлеров и эксперт-разработчик — создал самое полное руководство по новым типам объектов, синтаксису и интересным функциям. Каждая глава содержит примеры программ, которые будут работать в любой среде JavaScript, и познакомят вас в новыми возможностями языка. Прочитав эту книгу вы узнаете о том чем полезны итераторы и генераторы, чем ссылочные функции отличаются от обычных, какие дополнительные опции позволяют работать с данными, о наследовании типов, об асинхронном программировании, о том как модули меняют способ организации кода и многое другое.Более того, Николас Закас заглядывает в изменения, которые появились в ECMAScript 7. Не важно, являетесь вы веб-разработчиком или работаете с node.js, в этой книге вы найдете самую необходимую информацию, позволяющую перейти от ECMAScript 5 к ECMAScript 6.

ECMAScript 6 для разработчиков, Закас Н. оглавление

Предисловие

Благодарности

Введение

История ECMAScript 6

Про книгу

Совместимость с браузерами и Node.js

Кому адресована книга

Обзор содержания

Используемые соглашения

Від видавця

Глава 1. Блочные привязки

Объявление и местоположение переменных

Объявления на уровне блока

Объявления let

Повторное объявление недопустимо

Объявления const

Временная мертвая зона

Блочные привязки в циклах

Функции в циклах

Объявления let в циклах

Объявления const в циклах

Блочные привязки на глобальном уровне

Новые приемы, появившиеся с введением блочных привязок

В заключение

6

Глава 2. Строки и регулярные выражения

Улучшенная поддержка Юникода

Кодовые пункты UTF-16

Метод codePointAt()

Метод String.fromCodePoint()

Метод normalize()

Флаг u в регулярных выражениях

Другие изменения в поддержке строк

Методы идентификации подстрок

Метод repeat()

Другие изменения в регулярных выражениях

Флаг y в регулярных выражениях

Создание копий регулярных выражений

Свойство flags

Литералы шаблонов

Основной синтаксис

Многострочный текст

Подстановка значений

Теги шаблонов

В заключение

Глава 3. Функции

Функции со значениями параметров по умолчанию

Имитация значений параметров по умолчанию в ECMAScript 5

Значения параметров по умолчанию в ECMAScript 6

Как значения параметров по умолчанию влияют на объект arguments

Выражения в параметрах по умолчанию

Временная мертвая зона для параметров по умолчанию

Неименованные параметры

Неименованные параметры в ECMAScript 5

Остаточные параметры

Дополнительные возможности конструктора Function

Оператор расширения

Свойство name

Выбор соответствующих имен

Специальные случаи свойства name

7Двойственная природа функций

Как в ECMAScript 5 определить, каким способом вызвана функция

Метасвойство new.target

Функции уровня блоков

Когда использовать функции уровня блока

Функции уровня блока в нестрогом режиме

Стрелочные функции

Синтаксис стрелочных функций

Создание выражений немедленно вызываемых функций

Отсутствие привязки this

Стрелочные функции и массивы

Отсутствие привязки arguments

Идентификация стрелочных функций

Оптимизация хвостовых вызовов

Отличия хвостовых вызовов в ECMAScript 6

Как использовать оптимизацию хвостовых вызовов

В заключение

Глава 4. Расширенные возможности объектов

Категории объектов

Расширение синтаксиса литералов объектов

Сокращенный синтаксис инициализации свойств

Сокращенный синтаксис определения методов

Вычисляемые имена свойств

Новые методы

Метод Object.is()

Метод Object.assign()

Дубликаты свойств в литералах объектов

Порядок перечисления собственных свойств

Расширения в прототипах

Смена прототипа объекта

Простой доступ к прототипу с помощью ссылки super

Формальное определение метода

В заключение

Глава 5. Деструктуризация для упрощения доступа к данным

Какие выгоды дает деструктуризация?

Деструктуризация объектов

8

Присваивание с деструктуризацией

Значения по умолчанию

Присваивание локальным переменным с другими именами

Деструктуризация вложенных объектов

Деструктуризация массивов

Присваивание с деструктуризацией

Значения по умолчанию

Деструктуризация вложенных массивов

Остаточные элементы

Смешанная деструктуризация

Деструктурированные параметры

Деструктурированные параметры являются обязательными

Значения по умолчанию для деструктурированных параметров

В заключение

Глава 6. Символы и символьные свойства

Создание символов

Использование символов

Совместное использование символов

Приведение типов для символов

Извлечение символьных свойств

Экспортирование внутренних операций в виде стандартных символов

Метод Symbol.hasInstance

Свойство Symbol.isConcatSpreadable

Свойства Symbol.match, Symbol.replace, Symbol.search и Symbol.split

Метод Symbol.toPrimitive

Свойство Symbol.toStringTag

Свойство Symbol.unscopables

В заключение

Глава 7. Множества и ассоциативные массивы

Множества и ассоциативные массивы в ECMAScript 5

Недостатки обходных решений

Множества в ECMAScript 6

Создание множеств и добавление элементов

Удаление элементов

Метод forEach() для множеств

Преобразование множества в массив

9Множества со слабыми ссылками

Ассоциативные массивы в ECMAScript 6

Методы ассоциативных массивов

Инициализация ассоциативных массивов

Метод forEach() ассоциативных массивов

Ассоциативные массивы со слабыми ссылками

В заключение

Глава 8. Итераторы и генераторы

Проблемы использования циклов

Что такое итераторы?

Что такое генераторы?

Выражения функций-генераторов

Методы-генераторы объектов

Итерируемые объекты и циклы for-of

Доступ к итератору по умолчанию

Создание итерируемых объектов

Встроенные итераторы

Итераторы коллекций

Итераторы строк

Итераторы NodeList

Оператор расширения и итерируемые объекты, не являющиеся массивами

Дополнительные возможности итераторов

Передача аргументов в итераторы

Возбуждение ошибок внутри итераторов

Инструкции return в генераторах

Делегирование генераторов

Асинхронное выполнение заданий

Простой инструмент выполнения заданий

Выполнение заданий с данными

Инструмент асинхронного выполнения заданий

В заключение

Глава 9. Введение в классы JavaScript

Структуры в ECMAScript 5, подобные классам

Объявление класса

Объявление простого класса

В чем преимущества синтаксиса определения классов?

10

Классы-выражения

Простой класс-выражение

Именованные классы-выражения

Классы как сущности первого класса

Свойства с методами доступа

Вычисляемые имена членов

Методы-генераторы

Статические члены

Наследование в производных классах

Затенение методов класса

Унаследованные статические члены

Производные классы из выражений

Наследование встроенных объектов

Свойство Symbol.species

Использование new.target в конструкторах классов

В заключение

Глава 10. Расширенные возможности массивов

Создание массивов

Метод Array.of()

Метод Array.from()

Новые методы всех массивов

Методы find() и findIndex()

Метод fill()

Метод copyWithin()

Типизированные массивы

Числовые типы данных

Буферы массивов

Управление буферами массивов с помощью представлений

Сходства типизированных и обычных массивов

Общие методы

Те же самые итераторы

Методы of() и from()

Различия типизированных и обычных массивов

Различия в поведении

Отсутствующие методы

Дополнительные методы

В заключение



11Глава 11. Объект Promise и асинхронное программирование

Основы асинхронного программирования

Модель событий

Обратные вызовы

Основы объектов Promise

Жизненный цикл объекта Promise

Создание неустановившихся объектов Promise

Создание установившихся объектов Promise

Ошибки исполнителя

Глобальная обработка отклоненных объектов Promise

Обработка отказов в Node.js

Обработка отказов в браузерах

Составление цепочек из объектов Promise

Перехват ошибок

Возврат значений в цепочке объектов Promise

Возврат объектов Promise в цепочке

Обработка сразу нескольких объектов Promise

Метод Promise.all()

Метод Promise.race()

Наследование Promise

Выполнение асинхронных заданий с помощью Promise

В заключение

Глава 12. Прокси-объекты и Reflection API

Проблема с массивами

Введение в прокси-объекты и Reflection API

Создание простого прокси-объекта

Проверка свойств с помощью ловушки set

Проверка формы объектов с помощью ловушки get

Сокрытие свойств с помощью ловушки has

Предотвращение удаления свойств с помощью ловушки deleteProperty

Ловушки операций с прототипом

Как действуют ловушки операций с прототипом

Почему поддерживается два набора методов?

Ловушки, связанные с расширяемостью объектов

Два простых примера

Дубликаты методов управления расширяемостью

12

Ловушки операций с дескрипторами свойств

Блокирование вызова Object.defineProperty()

Ограничения объекта дескриптора

Дубликаты методов для операций с дескрипторами

Ловушка ownKeys

Обработка вызовов функций с помощью ловушек apply и construct

Проверка параметров функции

Вызов конструкторов без ключевого слова new

Переопределение конструкторов абстрактных базовых классов

Вызываемые конструкторы классов

Отключение прокси-объектов

Решение проблемы с массивами

Определение индексов массива

Увеличение значения length при добавлении новых элементов

Удаление элементов при уменьшении значения length

Реализация класса MyArray

Использование прокси-объекта в качестве прототипа

Использование ловушки get в прототипе

Использование ловушки set в прототипе

Использование ловушки has в прототипе

Прокси-объекты как прототипы классов

В заключение

Глава 13. Инкапсуляция кода в модули

Что такое модули?

Основы экспортирования

Основы импортирования

Импортирование единственной привязки

Импортирование нескольких привязок

Импортирование всего модуля

Тонкая особенность импортированных привязок

Переименование экспортируемых и импортируемых привязок

Значения по умолчанию в модулях

Экспортирование значений по умолчанию

Импортирование значений по умолчанию

Реэкспорт привязки

Импортирование без привязок

13Загрузка модулей

Использование модулей в веб-браузерах

Разрешение спецификаторов модулей в браузерах

В заключение

Приложение A. Мелкие изменения в ECMAScript 6

Новые приемы работы с целыми числами

Идентификация целых чисел

Безопасные целые числа

Новые математические методы

Идентификаторы с символами Юникода

Формализованное свойство __proto__

Приложение Б. Введение в ECMAScript 7 (2016)

Оператор возведения в степень

Порядок операций

Ограничения операндов

Метод Array.prototype.includes()

Как используется метод Array.prototype.includes()

Сравнение значений

Изменение области видимости функций в строгом режиме

Також ви можете залишити питанная або відгук про книгу: ECMAScript 6 для разработчиков, Закас Н.

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “ECMAScript 6 для разработчиков, Закас Н.”

Ваш адрес email не будет опубликован. Обязательные поля помечены *