Язык программирования JavaScript
JS_base
Авторский курс.
Форма проведения: очно / дистанционно.
Программа курса
Часть 1. Основы.
-------------------------------------------------------------------------
Глава 1. Введение в JavaScript
Что такое JavaScript
Первая программа на JavaScript
Выполнение кода javascript
Подключение внешнего файла JavaScript
Консоль браузера и console.log
Глава 2. Основы javascript
Переменные и константы
Типы данных
Арифметические операции
Условные выражения
Условные операторы ?: и ??
Преобразование данных
Введение в массивы
Условные конструкции
Циклы
Отладка и отладчик
Глава 3. Функциональное программирование
Функции
Параметры функции
Результат функции
Стрелочные функции
Область видимости переменных
Замыкания и функции IIFE
Паттерн Модуль
Рекурсивные функции
Переопределение функций
Hoisting
Передача параметров по значению и по ссылке
Глава 4. Объектно-ориентированное программирование
Объекты
Ключевое слово this
Вложенные объекты и массивы в объектах
Копирование и сравнение объектов
Проверка наличия и перебор методов и свойств
Объекты в функциях
Конструкторы объектов
Расширение объектов. Прототипы
Функция Object.create. Конфигурация свойств объектов
Инкапсуляция свойств. Геттеры и сеттеры
Функция как объект. Методы call и apply
Наследование прототипов
Деструктуризация
Оператор ?.
Константные объекты. Запрет изменения объекта
Глава 5. ООП. Классы
Классы
Приватные поля и методы
Статические поля и методы
Свойства и методы доступа
Наследование
Глава 6. Массивы
Создание массива и объект Array
Массивы и spread-оператор
Операции с массивами
Наследование массивов
Глава 7. Строки и регулярные выражения
Строки и объект String
Шаблоны строк
Объект RegExp. Регулярные выражения
Синтаксис регулярных выражений
Квантификаторы в регулярных выражениях
Поиск в строке
Группы в регулярных выражениях
Регулярные выражения в методах String
Глава 8. Обработка ошибок
Конструкция try..catch..finally
Генерация ошибок и оператор throw
Типы ошибок
Обработка ошибок и стек вызова функций
Глава 9. Встроенные объекты
Объект Date. Работа с датами
Объект Math. Математические операции
Объект Number
Символы
Proxy
-------------------------------------------------------------------------
Часть 2. Для продвинутых.
-------------------------------------------------------------------------
Глава 1. Коллекции и итераторы
Итераторы
Генераторы
Множества Set
Map
WeakSet
WeakMap
Глава 2. Работа с DOM
Введение в DOM
Свойства объекта document
Поиск элементов на веб-странице
Объект Node. Навигация по DOM
Элементы
Создание, добавление и удаление элементов
Управление атрибутами элементов
Управление стилем и классами элементов
Создание своего элемента HTML
Глава 3. События
Введение в обработку событий
Обработчики событий
Передача данных в обработчик события. Объект Event
Распространение событий
События мыши
События клавиатуры
Программный вызов событий
Определение своих событий
Глава 4. Работа с формами
Формы и их элементы
Кнопки
Текстовые поля
Флажки и радиокнопки
Список select
Validation API. Валидация элементов формы
Управление валидацией форм
Глава 5. Работа с браузером и BOM
Browser Object Model и объект window
Диалоговые окна и поиск на странице
Открытие, закрытие и позиционирование окон
История браузера. History API
Объект location
Объект navigator. Получение информации о браузере
Таймеры
Глава 6. Форматы JSON и XML
Работа с JSON
Работа с XML
Глава 7. Хранение данных
Куки
Web Storage
Глава 8. Promise, async и await
Введение в промисы
Получение результата операции в Promise
Обработка ошибок в Promise
Создание цепочек промисовх
Функции Promise.all, Promise.allSettled, Promise.any и Promise.race
Async и await
Асинхронные итераторы
Асинхронные генераторы
Глава 9. AJAX-запросы и XMLHttpRequest
XMLHttpRequest и отправка ajax-запросов
Загрузка HTML с помощью XMLHttpRequest
Загрузка XML с помощью XMLHttpRequest
Загрузка JSON с помощью XMLHttpRequest
Отправка данных в ajax-запросе
Отправка форм в ajax-запросе
Promise в Ajax-запросах
Глава 10. Fetch API
Функция fetch
Объект Response и его свойства
Получение данных из ответа
Настройка параметров запроса. Отправка данных
Создание клиента для REST API
Глава 11. Модули
Введение в модули
Импорт модуля
Экспорт и импорт компонентов модулей
Экспорт и импорт по умолчанию
Использование псевдонимов при экспорте и импорте
Динамическая загрузка модулей