Разработка на JavaScript
Пока неизвестно
40 ак.ч.
онлайн
удостоверение о повышении квалификации государственного образца
39 900 ₽
Подробнее о курсе
Документ после выпуска
удостоверение о повышении квалификации государственного образца
Программа курса
1. Язык JavaScript
Версии и реализации JavaScript; Области применения JavaScript (браузер, сервер, мобильная разработка); Типы данных: String, Number, Boolean (понятие truthy и falsy); Операторы, приоритет операторов; Объявление переменных: var, const, let; Циклы: while, for, for … in, for …of; Работа с числами и строками; Значения null и undefined: отличия и цели применения; Работа с консолью; Исключения в JavaScript.
2. JSON, объекты и массивы
Формат JSON, примеры; JSON.parse и stringify; Объекты, работа с классом Object; Создание объектов (с помощью литерала {}, оператор new, метод create); Прототипическое наследование, ссылка __proto__; Геттеры и сеттеры; Оператор in и hasOwnProperty, понятие перечислимых свойств; Метод toString(), вызов и переопределение метода; Метод valueOf(), вызов и переопределение метода; Создание массивов: литералы и new Array(); Автоматическое изменение длины массива; Получение и установка длины массива length, усечение массива; Применение методов join() и concat(); Использование метода sort, задание порядка сортировки массива; Использование методов slice и splice; Использование методов push, pop, shift, unshift: создание стека или очереди.
3. Работа с датами и строками
Применение конструктора new Date(); Понятие компьютерного представления даты как времени с Epoch; Использование getTime() и setTime(); Парсинг строкового представления дат; Варианты создания строк в JS: использование одинарных и двойных кавчек; Интерполяция строк (строка в апострофах); Экранирование специальных символов в строке; Конкатенация строк, перевод в верхний и нижний регистр; Поиск подстроки с помощью indexOf() и lastIndexOf(); Выделение подстроки с помощью substring() и substr() Применение методов includes, endsWith, startsWith.
4. Применение JavaScript в браузере: модель DOM
Управление окном браузера, документом, событиями и оформлением (CSS-стилями); Объект window и его применение; Подключение кода JavaScript к HTML-странице; Порядок выполнения скриптов на странице; Кэширование скриптов, CDN-серверы, принудительная перезагрузка JavaScript; Работа с ссылками, подключение JavaScript к ссылкам; Событие onload и его использование; XSS-атаки на сайт; Работа с DOM: использование window, document, childNodes; Манипуляции документом с помощью DOM: создание, удаление, перемещение элементов; Использование getElementById(), getElementsByTagName(), getElementsByClassName() для поиска элементов на странице; Работа с методами и свойствами HTMLDocument и HTMLElement.
5. Работа с событиями в браузере
Понятие событийного программирования; Обработчики и слушатели событий; Подключение обработчиков c помощью addEventListener(); Свойства и методы класса Event; Распространение событий вверх (bubbling) и вниз (capturing); Остановка распространения; События окна; События мыши и клавиатуры, специальные свойства событий; События формы.
6. Работа с CSS и управление стилями
Стандарт CSS, основные свойства CSS; Общие стили и стили отдельных элементов; Каскадирование стилей; CSS-селекторы; Изменение CSS с помощью JavaScript; Отступы: margin, padding, border; Управление видимостью элементов: visibility и display; Позиционирование элементов: absolute, fixed, relative, установка top и left; Единицы измерения px, pt и другие; Переполнение элемента и управление через свойство overflow; Управление слоями документа: свойство zIndex; Анимация, перемещение элементов; Работа с классами, установка className; Работа с прозрачностью и переходами (transition); Метод querySelectorAll().
7. Работа с модулями в JavaScript, менеджер пакетов NPM, сборщик Webpack
Причины использования модулей; Экспорт из модуля; Импорт из модуля; Реэкспорт; Работа с NPM, файл package.json; Папка node_modules, загрузка пакетов с помощью NPM; Глобальная и локальная установка пакетов; Применение webpack для сборки проекта; Загрузчики CSS и TypeScript; Конфигурация webpack.config.js; Создание бандла, сжатие; Плагины webpack; Применение старых систем модульности – CommonJS и AMD; Использование CommonsChunkPlugin, несколько точек входа; Горячая замена модулей HMR.
8. Классы и наследование в JavaScript
Прототипное наследование, ссылка __proto__; Прототип объекта; Использование instanceof; Ключевое слово class, создание классов; Ключевое слово super; Применение метода Object.assign(); Применение метода Object.defineProperty(); Геттеры и сеттеры; Spread-оператор для работы с объектами и массивами; Деструктурирование массива и объекта.
9. Функциональное программирование в JavaScript
Функции как переменные; Массив arguments; Класс Function, методы call() и apply(); Метод bind(), установка this и части параметров с помощью bind; Замыкания в JavaScript; Инкапсуляция значений с помощью замыканий; Создание функции через конструктор Function: конструирование строки; Стрелочные функции, примеры их применения; Функциональная манипуляция массивом: find, findIndex, filter; Примеры использования map/filter/reduce для обработки данных в массиве.
10. Иммутабельность, тестирование, паттерн MVC
Понятие иммутабельности, ее преимущества; Мутабельные и иммутабельные методы изменения объектов и массивов; Понятие и преимущества Virtual DOM; Тестирование иммутабельных функций, применение Jest; Мемоизация, ее преимущества; Основные ошибки и рекомендации при использовании функционального программирования; Паттерн MVC, создание пользовательского интерфейса; Обзор основных библиотек для разработки интерфейса: Angular, React, Vue.
11. Асинхронность в JavaScript. Промисы
Понятие и необходимость асинхронности; Работа с setTimeout, setInterval, clearTimeout; Функции обратного вызова (коллбэки); Потеря this при работе с функцией обратного вызова. Варианты решения (использование bind, стрелочных функций и др.); Понятие промисов, возвращение Promise из асинхронной функции; Метод Promise.all(), его применение; Синтаксис async/await, варианты применения, ограничения; Обработка внештатных ситуаций: Promise reject, обработка исключений при асинхронных вызовах.
12. Работа с сервером. Протокол HTTP. REST-сервисы
Протокол HTTP; Заголовки и методы HTTP (GET, POST, PUT, DELETE, другие), передача данных; HTTP-серверы (обзор); Коды ответа HTTP-сервера; Использование форм для отправки данных; Передача данных на сервер с помощью AJAX; Архитектура REST: преимущества и особенности; Реализация CRUD (операций Create/Read/Update/Delete) при работе с REST; Применение фунции fetch() для получения и отправки данных; Документирование REST-сервисов с помощью Swagger; Понятие HATEOAS, применение
13. Библиотека AXIOS. Протокол WebSocket
Сравнение высокоуровневой библитеки Axios и применения низкоуровневого fetch(); GET- и POST- запросы в Axios; Применение async/await c Axios; Обработка ошибок при использовании Axios; Отмена запроса с помощью Axios; Протокол WebSocket; Примеры использования WebSocket, сравнение с HTTP; HTML-анимация.
Оставьте отзыв
Похожие курсы
Оставьте заявку
Наши консультанты ответят на все вопросы
И помогут в выборе
Нажимая кнопку, вы даете согласие на обработку персональных данных