Что вы изучите:
- Использование ES6 для транскомпиляции в переносимого кода ESS;
- Преобразование данных в формат для использования с JavaScript;
- Основы и механику применения функций JavaScript;
- Объекты и объектно-ориентированное программирование;
- Новые концепции: итераторы, генераторы и прокси-объекты;
- Особенности асинхронного программирования;
- Использование объектной модели документа для приложений, исполняемых в браузере;
- Применение платформы Node.js для разработки серверных приложений;
Содержание.
Краткая история JavaScript
ES6
Для кого предназначена эта книга
Для кого не предназначена эта книга
Соглашения, принятые в этой книге
Благодарности
От издательства
Глава 1. Ваше первое приложение
С чего начать
Инструменты
Комментарий о комментариях
Первые шаги
Консоль JavaScript
Библиотека jQuery
Рисование графических примитивов
Автоматизация повторяющихся задач
Обработка пользовательского ввода
Программа Hello, World
Глава 2. Инструменты разработки JavaScript
Написание кода ES6 сегодня
Возможности ES6
Установка Git
Терминал
Корневой каталог проекта
Git: контроль версий
Управление пакетами: npm
Инструменты сборки: Gulp и Grunt
Структура проекта
Транскомпиляторы
Запуск Babel с Gulp
Анализ
Заключение
Глава 3. Литералы, переменные, константы и типы данных
Переменные и константы
Переменные или константы: что использовать?
Именование идентификаторов
Литералы
Базовые типы и объекты
Числа
Строки
Экранирование специальных символов
Специальные символы
Строковые шаблоны
Поддержка многострочных строк
Числа как строки
Логические значения
Символы
Типы null и undefined
Объекты
Объекты Number, String и Boolean
Массивы
Завершающие запятые в объектах и массивах
Даты
Регулярные выражения
Отображения и наборы
Преобразование типов данных
Преобразование в числовой формат
Преобразование в строку
Преобразование в логическое значение
Заключение
Глава 4. Управление потоком
Учебник для новичков в управлении потоком
Циклы while
Блоки операторов
Отступ
Вспомогательные функции
Оператор if...else
Цикл do...while
Цикл for
Оператор if
Объединим все вместе
Операторы управления потоком в JavaScript
Исключения в управлении потоком
Сцепление операторов if...else
Метасинтаксис
Дополнительные шаблоны цикла for
Операторы switch
Цикл for...in
Цикл for...of
Популярные схемы управления потоком
Использование continue для сокращения содержимого условных выражений
Использование break или return во избежание ненужного вычисления
Использование значения индекса после завершения цикла
Использование убывающих индексов при изменении списков
Заключение
Глава 5. Выражения и операторы
Операторы
Арифметические операторы
Приоритет операторов
Операторы сравнения
Сравнение чисел
Конкатенация строк
Логические операторы
Истинные и ложные значения
Операторы AND, OR и NOT
Вычисление по сокращенной схеме
Логические операторы с не логическими операндами
Условный оператор
Оператор "запятая"
Оператор группировки
Побитовые операторы
Оператор typeof
Оператор void
Операторы присваивания
Деструктурирующее присваивание
Операторы объектов и массивов
Выражения в строковых шаблонах
Выражения и шаблоны управления потоком
Преобразование операторов if...else в условные выражения
Преобразование операторов if в сокращенные выражения логического ИЛИ
Заключение
Глава 6. Функции
Возвращаемые значения
Вызов или обращение
Аргументы функции
Определяют ли аргументы функцию?
Деструктуризация аргументов
Стандартные аргументы
Функции как свойства объектов
Ключевое слово this
Функциональные выражения и анонимные функции
Стрелочная нотация
Методы call, apply и bind
Заключение
Глава 7. Область видимости
Область видимости и существование переменных
Лексическая или динамическая область видимости
Глобальная область видимости
Область видимости блока
Маскировка переменной
Функции, замкнутые выражения и лексическая область видимости
Немедленно вызываемые функциональные выражения
Область видимости функции и механизм подъема объявлений
Подъем функций
Временная мертвая зона
Строгий режим
Заключение
Глава 8. Массивы и их обработка
Обзор массивов
Манипулирование содержимым массива
Добавление отдельных элементов в начало или конец и их удаление
Добавление нескольких элементов в конец
Получение подмассива
Добавление и удаление элементов в любой позиции
Копирование и вставка в пределах массива
Заполнение массива заданным значением
Обращение и сортировка массивов
Поиск в массиве
Фундаментальные операции над массивом: map и filter
Магия массивов: метод reduce
Методы массива и удаленные или еще не определенные элементы
Соединение строк
Заключение
Глава 9. Объекты и объектно-ориентированное программирование
Перебор свойств
Цикл for...in
Метод Object.keys
Объектно-ориентированное программирование
Создание класса и экземпляра
Динамические свойства
Классы как функции
Прототип
Статические методы
Наследование
Полиморфизм
Перебор свойств объектов (снова)
Строковое представление
Множественное наследование, примеси и интерфейсы
Заключение
Глава 10. Отображения и наборы
Отображения
Слабые Отображения
Наборы
Слабые наборы
Расставаясь с объектной привычкой
Глава 11. Исключения и обработка ошибок
Объект Error
Обработка исключений с использованием блоков try и catch
Генерирование ошибки
Обработка исключений и стек вызовов
Конструкция try...catch...finally
Позвольте исключениям быть исключениями
Глава 12. Итераторы и генераторы
Протокол итератора
Генераторы
Выражения yield и двухсторонняя связь
Генераторы и оператор return
Заключение
Глава 13. Функции и мощь абстрактного мышления
Функции как подпрограммы
Функции как подпрограммы, возвращающие значение
Функции как...функции
И что?
Функции являются объектами
Немедленно вызываемое функциональное выражение и асинхронный код
Переменные функций
Функции в массиве
Передача функции в функцию
Возвращение функции из функции
Рекурсия
Заключение
Глава 14. Асинхронное программирование
Аналогия
Обратные вызовы
Функции seti nterval и clearinterval
Область видимости и асинхронное выполнение
Передача ошибок функциям обратного вызова
Проклятье обратных вызовов
Обязательства
Создание обязательств
Использование обязательств
События
Сцепление обязательств
Предотвращение незавершенных обязательств
Генераторы
Шаг вперед и два назад?
Не пишите собственных пускателей генераторов
Обработка исключений в пускателях генераторов
Заключение
Глава 15. Дата и время
Даты, часовые пояса, временные метки и эпохи Unix
Создание объектов Date 254
Библиотека Moment. js
Практический подход к датам в JavaScript
Создание дат
Создание дат на сервере
Создание дат в браузере
Передача дат
Отображение дат
Компоненты даты
Сравнение дат
Арифметические операции с датами
Удобные относительные даты
Заключение
Глава 16. Объект Math
Форматирование чисел
Числа с фиксированным количеством десятичных цифр
Экспоненциальная форма записи
Фиксированная точность
Другие основания
Дополнительное-форматирование чисел
Константы
Алгебраические функции
Возведение в степень
Логарифмические функции
Другое
Генерация псевдослучайных чисел
Тригонометрические функции
Гиперболические функции
Глава 17. Регулярные выражения
Распознавание и замена подстрок
Создание регулярных выражений
Поиск с использованием регулярных выражений
Замена с использованием регулярных выражений
Переработка входных данных
Чередование
Анализ HTML-кода
Наборы символов
Именованные наборы символов
Повторение
Метасимвол "точка" и экранирование
Шаблон, соответствующий всему
Группировка
Ленивое и жадное распознавания
Обратные ссылки
Группы замены
Функции замены
Привязка
Распознавание границ слов
Упреждения
Динамическое создание регулярных выражений
Заключение
Глава 18. JavaScript в браузере
ESS или ЕSб?
Объектная модель документа
Немного терминологии
Методы-получатели модели DOM
Выборка элементов DOM
Манипулирование элементами DOM
Создание новых элементов DOM
Применение стилей к элементам
Атрибуты данных
События
Перехват и всплытие событий
Категории событий
Ajax
Заключение
Глава 19. Библиотека jQuery
Всемогущий доллар (знак)
Подключение jQuery
Ожидание загрузки и построения дерева DOM
Элементы DOM в оболочке jQuery
Манипулирование элементами
Извлечение объектов jQuery из оболочки
Ajax
Заключение
Глава 20. Платформа Node
Основные принципы Node
Модули
Базовые, файловые и nрm-модули
Изменение параметров модулей с помощью модулей-функций
Доступ к файловой системе
Переменная process
Информация об операционной системе
Дочерние процессы
Потоки
Веб-серверы
Заключение
Глава 21. Свойства объекта и прокси-обьекты
Свойства доступа: получатели и установщики
Атрибуты свойств объекта
Защита объектов: замораживание, запечатывание и запрет расширения
Прокси-объекты
Заключение
Глава 22. Дополнительные ресурсы
Сетевая документация
Периодические издания
Блоги и учебные курсы
Система Stack Overflow
Вклад в проекты Open Source
Заключение
Приложения.
Приложение А. Зарезервированные ключевые слова
Приложение Б. Приоритет операторов
Предметный указатель
Добавить комментарий