Мы используем файлы cookie для обеспечения работоспособности сервиса, улучшения навигации и маркетинговых активностей Yolonce. Нажимая "Согласен", вы соглашаетесь с нашей Политикой конфиденциальности

Разработка на JavaScript

  Сложность

Пока неизвестно

  Длительность

40 ак.ч.

  Формат

онлайн

  Документ по выпуску

удостоверение о повышении квалификации государственного образца

Стоимость курса
39 900

Подробнее о курсе

Описание Курс посвящен современному JavaScript (EcmaScript 2015+), использованию JS для работы в браузере (события, манипуляция HTML и CSS), работе с модулями JS (NPM, Webpack), работе с сервером (HTTP, REST, AJAX, Axios, WebSocket). Курс является основой для изучения веб-фреймворков Angular и React. Делается упор на применение ООП, работу с JSON, функциональное программирование. Детально изучается работа с классами, объектами, массивами, датами, иммутабельность и асинхронность.

Документ после выпуска

удостоверение о повышении квалификации государственного образца

Автор курса

Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Действует скидка 10% на обучение физических лиц.

Программа курса

  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-анимация.

Оставьте отзыв

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

обновлено: 19.09.2024

Оставьте заявку

Наши консультанты ответят на все вопросы
И помогут в выборе

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных