Изучаем JavaScript. Руководство по созданию современных веб-сайтов

Третье издание. Рассмотрен стандарт ES6.

Этан Браун «Изучаем JavaScript. Руководство по созданию современных веб-сайтов» Вильямс, 2017 год, 368 стр. O’Reilly, (13,8 мб pdf)

Эта книга предназначена для читателей, которые хотят самостоятельно создавать веб-сайты на JavaScript. Если имеется некоторый опыт программирования и WEB-разработки (основы ООП, HTML, CSS), то вам будет значительно легче изучить представленное руководство. Новичкам в программировании будет полезно пройти вводный курс. Те, кто уже обладают некоторым опытом программирования в JavaScript (особенно если это только ESS), найдут расширенное и подробное описание важнейших концепций этого языка.

Программистам, у которых JavaScript не первый язык программирования, информация представленная в руководстве также станет полезной и понятной. Этан Браун, автор книги, предпринял попытку всесторонне рассмотреть возможности языка, связанные с ним инструментальные средства, методики и парадигмы, которые управляют современной разработкой на JavaScript.

Поэтому в данную книгу включены как простой и понятный материал (переменные, контроль и ветвление потока, функции, массивы), так и довольно сложный (асинхронное программирование, регулярные выражения). В зависимости от своего уровня подготовки, вы можете найти одни главы более сложными, чем другие и узнаете, как создавать мощные и эффективные веб-приложения для работы на клиенте или сервере Node.js. ISBN: 978-5-9908463-9-5, 978-1-491-91491-5

Оглавление книги

Что вы изучите:

  • Использование 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
Заключение

Приложения.

Приложение А. Зарезервированные ключевые слова
Приложение Б. Приоритет операторов
Предметный указатель

Скачать техническую литературу бесплатно13,8 мб pdf

Похожая литература