دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Николай Анатольевич Прохоренок. Владимир Александрович Дронов
سری: Профессиональное программирование
ISBN (شابک) : 9785977568470
ناشر: БХВ-Петербург
سال نشر: 2022
تعداد صفحات: 768
[767]
زبان: Russian
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 6 Mb
در صورت تبدیل فایل کتاب JavaScript и Node.js для веб-разработчиков به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب جاوا اسکریپت و Node.js برای توسعه دهندگان وب نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
این کتاب در مورد زبان برنامه نویسی جاوا اسکریپت، توسعه برنامه های همه منظوره در حال اجرا در محیط Node.js و اسکریپت های صفحات وب در آن صحبت می کند. اصول اولیه جاوا اسکریپت داده شده است: انواع داده ها، عملگرها، کار با اعداد، رشته ها، تاریخ ها و زمان ها، آرایه ها، توابع، کلاس ها (هم نحو قدیمی و هم جدید)، تکرار کننده ها، مولدها و کلاس Promise. نحوه استفاده از دیباگر تعبیه شده در ویرایشگر کد ویژوال استودیو را توضیح می دهد. ماژول ها، ابزارهای کار با سیستم فایل و برنامه نویسی سرورهای وب را توضیح می دهد. مدل شی سند شرح داده شده است. ابزارهایی برای کار با عناصر صفحه وب، خود صفحه و مرورگر و فناوری AJAX (از جمله Fetch API) و همچنین بسته های نرم افزاری آماده برای توسعه وب سایت، به ویژه Webpack در نظر گرفته شده است. آرشیو الکترونیکی در وب سایت ناشر حاوی کدهایی برای همه فهرست های شماره گذاری شده است
Книга рассказывает о языке программирования JavaScript, разработке на нем как программ общего назначения, выполняющихся в среде Node.js, так и скриптов для веб-страниц. Даны основы JavaScript: типы данных, операторы, работа с числами, строками, датой и временем, массивами, функции, классы (как старого, так и нового синтаксиса), итераторы, генераторы и класс Promise. Объяснена работа с отладчиком, встроенным в редактор Visual Studio Code. Рассказано о модулях, средствах для работы с файловой системой и программирования веб-серверов. Описана объектная модель документа. Рассмотрены средства для работы с элементами веб-страницы, самой страницей и браузером и технология AJAX (в том числе Fetch API), а также готовые программные пакеты для разработки веб-сайтов, в частности Webpack. Электронный архив на сайте издательства содержит коды всех пронумерованных листингов
Оглавление Введение Структура книги Типографские соглашения Глава 1. Редактор Visual Studio 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: автоматическое обновление веб-страницы 1.8. Emmet: ускорение набора HTML-кода 1.8.1. Вставка структуры HTML-документа 1.8.2. Вставка HTML-комментария 1.8.3. Теги из секции заголовка () 1.8.4. Основные теги из секции тела () 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. Форматирование кода 1.19. Полезные расширения Глава 2. Node.js: первые шаги 2.1. Установка Node.js 2.2. Работа с командной строкой 2.3. Первая программа на JavaScript 2.4. Вкладка Терминал в редакторе VS Code 2.5. NPM (Node Package Manager) 2.5.1. Создание пакета и добавление файла package.json 2.5.2. Установка пакетов 2.5.3. Обновление и удаление пакетов 2.5.4. Добавление и запуск скриптов 2.6. Структура программы 2.7. Комментарии в JavaScript 2.8. Интерактивный режим 2.9. Вывод результатов работы программы 2.10. Получение данных из командной строки 2.11. Завершение выполнения программы 2.12. Получение версии Node.js Глава 3. Переменные и типы данных 3.1. Именование переменных 3.2. Объявление переменной 3.3. Инициализация переменной и присваивание значения 3.4. Ключевые слова var и let 3.5. Типы данных в языке JavaScript 3.6. Проверка существования переменной 3.7. Преобразование типов данных 3.8. Классы-"обертки" над элементарными типами 3.9. Константы 3.10. Области видимости переменных 3.11. Вывод значений переменных Глава 4. Операторы и циклы 4.1. Математические операторы 4.2. Побитовые операторы 4.3. Оператор запятая 4.4. Операторы сравнения 4.5. Оператор нулевого слияния 4.6. Операторы присваивания 4.7. Приоритет выполнения операторов 4.8. Оператор ветвления if...else 4.9. Оператор ?: 4.10. Оператор выбора switch 4.11. Цикл for 4.12. Цикл while 4.13. Цикл do...while 4.14. Цикл for...in 4.15. Цикл for...of 4.16. Оператор continue: переход на следующую итерацию цикла 4.17. Оператор break: прерывание цикла Глава 5. Числа 5.1. Указание значений 5.2. Класс Number 5.3. Математические константы 5.4. Основные методы для работы с числами 5.5. Округление чисел 5.6. Тригонометрические функции 5.7. Преобразование строки в число 5.8. Преобразование числа в строку 5.9. Генерация псевдослучайных чисел 5.10. Бесконечность и значение NaN 5.11. Тип данных bigint Глава 6. Массивы и множества 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. Методы класса Map, возвращающие итераторы 6.17.8. Перебор элементов словаря 6.18. Класс Set: множество 6.18.1. Создание объекта 6.18.2. Добавление элементов 6.18.3. Проверка наличия элемента 6.18.4. Определение размера множества 6.18.5. Удаление элементов 6.18.6. Методы класса Set, возвращающие итераторы 6.18.7. Перебор элементов множества 6.18.8. Преобразование множества в массив 6.18.9. Операции с двумя множествами Глава 7. Строки 7.1. Инициализация строк 7.2. Специальные символы в строке 7.3. Строки в обратных кавычках (шаблоны строк) 7.4. Неформатированные строки 7.5. Конкатенация строк 7.6. Определение длины строки 7.7. Обращение к отдельному символу в строке 7.8. Изменение регистра символов 7.9. Получение фрагмента строки 7.10. Сравнение строк 7.11. Поиск и замена в строке 7.12. Преобразование строки в массив 7.13. URL-кодирование строк 7.14. Повтор строки 7.15. Выполнение команд, содержащихся в строке Глава 8. Регулярные выражения 8.1. Создание регулярного выражения 8.2. Методы класса 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. Работа с датой и временем 9.1. Получение текущей даты и времени 9.2. Указание произвольных значений даты и времени 9.3. Разбор строки с датой и временем 9.4. Преобразование даты в строку 9.5. Получение и изменение значений компонентов даты и времени 9.6. Форматированный вывод текущей даты и времени 9.7. Таймеры 9.8. Измерение времени выполнения кода Глава 10. Пользовательские функции 10.1. Создание функции и ее вызов 10.2. Расположение определений функций 10.3. Вложенные функции 10.4. Замыкание 10.5. Класс Function 10.6. Функции с произвольным числом параметров 10.6.1. Объект arguments 10.6.2. Оператор REST 10.7. Способы передачи параметров в функцию 10.8. Необязательные параметры 10.9. Анонимные функции 10.10. Стрелочные функции (лямбда-выражения) 10.11. Функции-генераторы 10.12. Рекурсия Глава 11. Классы и объекты 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. Пространства имен 11.10. Класс Proxy 11.10.1. Создание proxy-объекта 11.10.2. Ограничение доступа к свойствам объекта 11.10.3. Ограничение проверки существования свойства 11.10.4. Ограничение получения списка свойств и их атрибутов 11.10.5. Ограничение добавления свойства и изменения атрибутов 11.10.6. Ограничение удаления свойства 11.10.7. Ограничение нерасширяемости объекта 11.10.8. Ограничение доступа к прототипу 11.10.9. Перехват создания объекта 11.10.10. Перехват вызова функции 11.10.11. Отключаемый proxy-объект 11.11. Класс Reflect 11.12. Формат JSON: преобразование объекта в строку и обратно Глава 12. Модули 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 и imports в файле package.json 12.4. Переменные уровня приложения Глава 13. Обработка ошибок 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. Асинхронность 14.1. Объект класса Promise 14.1.1. Создание объекта класса Promise 14.1.2. Обработка изменения статуса 14.1.3. Массовая обработка объектов класса Promise 14.2. Ключевые слова async и await 14.3. Цикл for await...of 14.4. Асинхронные итераторы 14.5. Асинхронные методы-генераторы 14.6. Обработка событий 14.6.1. Генерирование событий 14.6.2. Назначение обработчиков событий 14.6.3. Удаление обработчиков событий 14.6.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. Чтение и запись файлов 16.1. Указание пути к файлу или каталогу 16.2. Модуль path: преобразование путей 16.3. Запись в файл с указанием пути к файлу 16.4. Чтение из файла с указанием пути к файлу 16.5. Открытие и закрытие файла 16.6. Режимы открытия файла 16.7. Запись в файл с указанием дескриптора 16.8. Чтение из файла с указанием дескриптора 16.9. Изменение размера файла 16.10. Дескрипторы стандартных потоков ввода/вывода Глава 17. Файловые потоки ввода/вывода 17.1. Класс WriteStream: поток вывода в файл 17.1.1. Создание потока вывода 17.1.2. Запись данных 17.1.3. События потока вывода 17.2. Класс ReadStream: поток ввода из файла 17.2.1. Создание потока ввода 17.2.2. Чтение данных 17.2.3. События потока ввода 17.2.4. Метод pipe() 17.2.5. Чтение файла, сохраненного в русской кодировке 17.3. Перенаправление стандартных потоков ввода/вывода Глава 18. Работа с файловой системой 18.1. Переименование и перемещение файлов 18.2. Копирование файлов 18.3. Удаление файлов 18.4. Получение сведений о файлах и каталогах 18.5. Права доступа к файлу и каталогу 18.6. Проверка существования файлов и каталогов 18.7. Создание каталогов 18.8. Создание временных каталогов 18.9. Удаление каталогов 18.10. Перебор элементов в каталоге 18.11. Отслеживание изменения файла или каталога Глава 19. Веб-сервер на Node.js 19.1. Создание и запуск веб-сервера 19.2. Объект запроса 19.3. Объект ответа 19.4. Отправка файла в качестве серверного ответа 19.5. Nodemon: автоматическая перезагрузка веб-сервера Глава 20. Работа JavaScript в веб-браузерах 20.1. Особенности работы JavaScript в веб-браузерах 20.2. Первая JavaScript-программа 20.3. Тег