Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Николай Прохоренок. Учебник по Node.js и JavaScript (ECMAScript 6+, ECMA-262, es6+) в формате PDF
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)
var
и let
3.5. Типы данных в языке JavaScript
3.6. Проверка существования переменной
3.7. Преобразование типов данных
3.8. Классы-обертки над элементарными типами
3.9. Константы
3.10. Области видимости переменных
3.11. Вывод значений переменных
Глава 4. Операторы и циклы в JavaScript (ECMAScript)
if...else
4.8. Оператор ?:
4.9. Оператор выбора switch
4.10. Цикл for
4.11. Цикл while
4.12. Цикл do...while
4.13. Цикл for...in
4.14. Цикл for...of
4.15. Оператор continue
: переход на следующую итерацию цикла
4.16. Оператор break
: прерывание цикла
Глава 5. Числа в JavaScript (ECMAScript)
Number
5.3. Математические константы
5.4. Основные методы для работы с числами
5.5. Округление чисел
5.6. Тригонометрические функции
5.7. Преобразование строки в число
5.8. Преобразование числа в строку
5.9. Генерация псевдослучайных чисел
5.10. Бесконечность и значение NaN
5.11. Тип данных bigint
Глава 6. Массивы и множества в JavaScript (ECMAScript)
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)
String
8.3. Методы класса RegExp
8.4. Свойства класса RegExp
8.5. Синтаксис регулярных выражений
8.5.1. Экранирование специальных символов
8.5.2. Метасимволы
8.5.3. Стандартные классы
8.5.4. Квантификаторы
8.5.5. Жадность квантификаторов
8.5.6. Группы
8.5.7. Обратные ссылки
8.5.8. Просмотр вперед
Глава 9. Работа с датой и временем в JavaScript (ECMAScript)
Глава 10. Пользовательские функции в JavaScript (ECMAScript)
Function
10.6. Переменное число параметров в функции
10.6.1. Объект arguments
10.6.2. Оператор REST
10.7. Способы передачи параметров в функцию
10.8. Необязательные параметры
10.9. Анонимные функции
10.10. Стрелочные функции (лямбда-выражения)
10.11. Функции-генераторы
10.12. Рекурсия
Глава 11. Классы и объекты в JavaScript (ECMAScript)
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
Скриншот реквизитов