Николай Прохоренок. Учебник по Node.js и JavaScript (ECMAScript 6+, ECMA-262, es6+) в формате PDF

Учебник по Node.js и JavaScript

JavaScript (точнее ECMAScript) — это язык программирования, изначально созданный, чтобы сделать Web-страницу интерактивной, т. е. реагирующей на действия пользователя. Последовательность инструкций (называемая программой, скриптом или сценарием) выполняется интерпретатором, встроенным в Web-браузер. Иными словами, код программы внедряется в HTML-документ и выполняется на стороне клиента. Для выполнения программы даже не нужно перезагружать Web-страницу. Все программы выполняются в результате возникновения какого-то события. Например, перед отправкой данных формы можно проверить их на допустимые значения и, если значения не соответствуют ожидаемым, запретить отправку данных.

В современном мире роль языка JavaScript значительно расширилась после появления платформы Node.js. Благодаря движку V8, на основе которого работает Node.js, язык JavaScript вышел из песочницы Web-браузера и стал универсальным языком программирования. Иными словами, программа, выполняемая с помощью Node.js, имеет доступ ко всему компьютеру пользователя, точно так же, как и программа на других языках, например, на языке Java. В этом учебнике в формате PDF на русском языке мы рассмотрим создание консольных программ на языке JavaScript (ECMAScript) применительно к платформе Node.js.

Учебник подходит для самостоятельного изучения современного языка JavaScript (ECMAScript 2015, ECMAScript 2017, ECMAScript 2020, ECMA-262, es6+): понятная структура учебника, последовательное рассмотрение возможностей, большое количество примеров, весь необходимый справочный материал.

См. также: "HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. 5-е изд."
См. также: "Bootstrap и CSS-препроцессор Sass. Самое необходимое"
См. также: Редактор Visual Studio Code (PDF)
См. также: Учебник по jQuery и AJAX в формате PDF

Оглавление учебника по JavaScript (Node.js)

Глава 1. Редактор Visual Studio Code (VS Code)
Глава 2. Первые шаги
Глава 3. Переменные и типы данных
Глава 4. Операторы и циклы
Глава 5. Числа
Глава 6. Массивы и множества
Глава 7. Строки
Глава 8. Регулярные выражения
Глава 9. Работа с датой и временем
Глава 10. Пользовательские функции
Глава 11. Классы и объекты
Глава 12. Модули
Глава 13. Обработка ошибок
Глава 14. Асинхронность
Глава 15. Класс Buffer: массив байтов
Глава 16. Чтение и запись файлов
Глава 17. Потоки ввода и вывода
Глава 18. Работа с файловой системой

Глава 1. Редактор Visual Studio Code (VS Code)

1.1. Установка VS Code
1.2. Настройка редактора
1.3. Смена цветовой темы
1.4. Структура окна редактора
    1.4.1. Главное меню
    1.4.2. Боковая панель действий
    1.4.3. Строка состояния
    1.4.4. Нижняя панель
    1.4.5. Палитра команд
1.5. Работа с файлами и каталогами
    1.5.1. Создание и сохранение файла
    1.5.2. Закрытие вкладки с файлом
    1.5.3. Открытие файла на редактирование
    1.5.4. Открытие каталога и работа с ним
1.6. Отображение содержимого нескольких файлов одновременно
1.7. Live Server: автоматическое обновление Web-страницы
1.8. Emmet: ускорение набора HTML-кода
    1.8.1. Вставка структуры HTML-документа
    1.8.2. Вставка HTML-комментария
    1.8.3. Теги из раздела HEAD
    1.8.4. Основные теги из раздела BODY
    1.8.5. Добавление текста
    1.8.6. Добавление параметров тегов
    1.8.7. Формы и элементы управления
    1.8.8. Таблицы
    1.8.9. Списки
    1.8.10. Вставка сразу нескольких тегов
1.9. Emmet: ускорение набора CSS-кода
    1.9.1. Форматирование шрифта
    1.9.2. Форматирование текста
    1.9.3. Отступы
    1.9.4. Рамки
    1.9.5. Фон элемента
    1.9.6. Списки
    1.9.7. Таблицы
    1.9.8. Вид курсора
    1.9.9. Форматирование блоков
    1.9.10. Flex-контейнеры
    1.9.11. CSS Grid
    1.9.12. Многоколоночный текст
    1.9.13. Эффекты
    1.9.14. Анимация с двумя состояниями
    1.9.15. Анимация с несколькими состояниями
    1.9.16. Двумерные трансформации
    1.9.17. Трехмерные трансформации
    1.9.18. Прочие атрибуты и правила
    1.9.19. Ввод числового значения атрибута
    1.9.20. Добавление вендорных префиксов
1.10. Всплывающие подсказки при вводе
1.11. Пользовательские фрагменты кода
    1.11.1. В Emmet
    1.11.2. В редакторе VS Code
1.12. Работа с курсорами и выделениями
1.13. Сворачивание и разворачивание блоков кода
1.14. Изменение регистра символов
1.15. Изменение масштаба
1.16. Полноэкранный режим
1.17. Форматирование кода
1.18. Полезные сторонние расширения

Глава 2. Первые шаги
Глава 3. Переменные и типы данных в JavaScript (ECMAScript)
Глава 4. Операторы и циклы в JavaScript (ECMAScript)
Глава 5. Числа в JavaScript (ECMAScript)
Глава 6. Массивы и множества в JavaScript (ECMAScript)
6.1. Инициализация массива 6.2. Получение и изменение элемента массива 6.3. Определение числа элементов массива 6.4. Многомерные массивы 6.5. Создание копии массива 6.6. Объединение массивов 6.7. Перебор элементов массива 6.8. Добавление и удаление элементов массива 6.9. Переворачивание массива 6.10. Сортировка массива 6.11. Получение части массива 6.12. Преобразование массива в строку 6.13. Проверка наличия элемента в массиве 6.14. Фильтрация массива 6.15. Методы, возвращающие итераторы 6.16. Ассоциативные массивы 6.17. Класс Map: словарь 6.17.1. Создание объекта 6.17.2. Добавление элементов и изменение значения 6.17.3. Получение значения по ключу 6.17.4. Проверка наличия ключа 6.17.5. Определение числа элементов 6.17.6. Удаление элементов 6.17.7. Методы, возвращающие итераторы 6.17.8. Перебор элементов 6.18. Класс Set: множество 6.18.1. Создание объекта 6.18.2. Добавление элементов 6.18.3. Проверка наличия элемента 6.18.4. Определение числа элементов 6.18.5. Удаление элементов 6.18.6. Методы, возвращающие итераторы 6.18.7. Перебор элементов 6.18.8. Преобразование множества в массив 6.18.9. Операции с двумя множествами
Глава 7. Строки в JavaScript (ECMAScript)
Глава 8. Регулярные выражения в JavaScript (ECMAScript)
Глава 9. Работа с датой и временем в JavaScript (ECMAScript)
Глава 10. Пользовательские функции в JavaScript (ECMAScript)
Глава 11. Классы и объекты в JavaScript (ECMAScript)
11.1. Объекты 11.1.1. Создание объекта с помощью фигурных скобок 11.1.2. Свойства объекта 11.1.3. Распаковка объекта 11.1.4. Методы объекта 11.1.5. Указатель this 11.1.6. Setter и getter 11.1.7. Свойство __proto__ 11.1.8. Атрибуты свойств и метод Object.create() 11.1.9. Получение значений атрибутов свойств 11.1.10. Методы defineProperty() и defineProperties() 11.1.11. Ограничение доступа к объекту 11.1.12. Получение списка названий свойств 11.1.13. Перебор свойств объекта 11.1.14. Проверка существования свойств и методов 11.1.15. Свойства с типом Symbol 11.1.16. Сравнение объектов 11.1.17. Создание копии объекта 11.1.18. Объединение объектов 11.1.19. Удаление свойства 11.2. Создание объекта с помощью класса Object 11.3. Создание класса (старый стиль) 11.3.1. Функция в качестве конструктора класса 11.3.2. Прототипы 11.3.3. Свойство constructor 11.3.4. Наследование 11.3.5. Переопределение методов 11.3.6. Статические свойства и методы 11.4. Создание класса (новый стиль) 11.4.1. Инструкция class 11.4.2. Конструктор класса 11.4.3. Наследование 11.4.4. Переопределение методов 11.4.5. Публичные поля 11.4.6. Приватные поля и методы 11.4.7. Статические свойства и методы 11.5. Оператор instanceof 11.6. Массивоподобные объекты (псевдомассивы) 11.7. Итераторы 11.8. Пространства имен

11.9. Класс Proxy
    11.9.1. Создание proxy-объекта
    11.9.2. Ограничение доступа к значениям свойств объекта
    11.9.3. Ограничение проверки существования свойства
    11.9.4. Ограничение получения списка свойств и их атрибутов
    11.9.5. Ограничение добавления свойства и изменения атрибутов
    11.9.6. Ограничение удаления свойства
    11.9.7. Ограничение нерасширяемости объекта
    11.9.8. Ограничение доступа к прототипу
    11.9.9. Перехват создания объекта
    11.9.10. Перехват вызова функции
    11.9.11. Отключаемый proxy-объект
11.10. Класс Reflect
11.11. Формат JSON: преобразование объекта в строку и обратно

Глава 12. Модули в JavaScript (ECMAScript)

12.1. Модули CommonJS
    12.1.1. Подключение встроенных модулей
    12.1.2. Получение списка встроенных модулей
    12.1.3. Подключение пользовательских модулей
    12.1.4. Кэширование модулей
    12.1.5. Подключение каталогов и пакетов
    12.1.6. Подключение модулей и пакетов из каталога node_modules
    12.1.7. Переменная окружения NODE_PATH
    12.1.8. Экспорт идентификаторов из модуля
    12.1.9. Объект module
12.2. Модули ECMAScript (ESM)
    12.2.1. Основные отличия модулей ECMAScript от модулей CommonJS
    12.2.2. Подключение встроенных модулей
    12.2.3. Получение списка встроенных модулей
    12.2.4. Подключение пользовательских модулей
    12.2.5. Кэширование модулей
    12.2.6. Подключение модулей и пакетов из каталога node_modules
    12.2.7. Экспорт идентификаторов из модуля
    12.2.8. Экспорт идентификатора по умолчанию
    12.2.9. Промежуточный экспорт
    12.2.10. Динамический импорт
    12.2.11. Подключение модулей CommonJS
    12.2.12. Подключение модуля ECMAScript внутри модуля CommonJS
    12.2.13. Подключение файлов в формате JSON
12.3. Свойства main и exports в файле package.json
12.4. Глобальные переменные для приложения

Глава 13. Обработка ошибок в JavaScript (ECMAScript)

13.1. Типы ошибок
13.2. Инструкция try…catch…finally
13.3. Класс Error: объекты исключения
13.4. Оператор throw: генерация исключений
13.5. Способы поиска ошибок в программе
13.6. Метод assert()
13.7. Отладка программы в редакторе VS Code
13.8. Строгий режим
13.9. Установка и настройка Prettier
13.10. Установка и настройка ESLint

Глава 14. Асинхронность в JavaScript (ECMAScript)

14.1. Объект Promise
    14.1.1. Создание объекта
    14.1.2. Обработка изменения статуса
    14.1.3. Статические методы
14.2. Ключевые слова async и await
14.3. Цикл for await...of
14.4. Асинхронные итераторы

Глава 15. Класс Buffer: массив байтов фиксированного размера

15.1. Создание объекта
15.2. Определение числа элементов массива
15.3. Получение и изменение значения по индексу
15.4. Запись и чтение данных
15.5. Создание копии массива
15.6. Получение части массива
15.7. Объединение массивов
15.8. Изменение порядка следования байтов
15.9. Перебор элементов массива
15.10. Методы, возвращающие итераторы
15.11. Сравнение массивов
15.12. Проверка наличия значения в массиве
15.13. Преобразование массива в строку или в другой объект
15.14. Преобразование кодировок

Глава 16. Чтение и запись файлов в Node.js

16.1. Указание пути к файлу или каталогу
16.2. Модуль path: преобразование пути
16.3. Запись в файл с указанием пути к файлу
16.4. Чтение из файла с указанием пути к файлу
16.5. Открытие и закрытие файла
16.6. Режимы открытия файла
16.7. Запись в файл с указанием дескриптора
16.8. Чтение из файла с указанием дескриптора
16.9. Изменение длины содержимого файла
16.10. Дескрипторы стандартных потоков ввода/вывода

Глава 17. Потоки ввода и вывода в Node.js

Глава 18. Работа с файловой системой в Node.js

18.1. Переименование и перемещение файла
18.2. Создание копии файла
18.3. Удаление файла
18.4. Получение информации о файле и каталоге
18.5. Права доступа к файлу и каталогу
18.6. Проверка существования файла и каталога
18.7. Создание каталога
18.7. Создание временного каталога
18.8. Удаление каталога
18.9. Перебор объектов, расположенных в каталоге

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов