Разработка в JavaScript - курс 39 500 rub. от IBS Training Center, обучение 40 часа, Дата 26 ноември 2023 г.
разни / / November 28, 2023
Обхванати теми:
1. Език на JavaScript:
JavaScript версии и имплементации;
Области на приложение на JavaScript (браузър, сървър, мобилна разработка);
Типове данни: String, Number, Boolean (концепцията за истинност и невярност);
Оператори, приоритет на оператора;
Декларация на променливи: var, const, let;
Цикли: докато, за, за... в, за... от;
Работа с числа и низове;
Нулеви и недефинирани стойности: разлики и цели на приложение;
Работа с конзолата;
Изключения в JavaScript.
2. JSON, обекти и масиви:
JSON формат, примери;
JSON.parse и stringify;
Обекти, работа с класа Object;
Създаване на обекти (с помощта на литерала {}, оператора new, метода create);
Прототипно наследяване, справка __proto__;
Геттери и сетери;
Операторът in и hasOwnProperty, концепцията за изброими свойства;
toString() метод, извикване и замяна на метода;
метод valueOf(), извикване и замяна на метода;
Създаване на масиви: литерали и new Array();
Автоматична промяна на дължината на масива;
Получаване и задаване на дължината на дължината на масива, съкращаване на масива;
Използване на методите join() и concat();
Използване на метода sort, задаване на реда на сортиране на масива;
Използване на методите на срязване и снаждане;
Използване на методи push, pop, shift, unshift: създаване на стек или опашка.
3. Работа с дати и низове:
Използване на новия конструктор Date();
Разбиране на компютърното представяне на датата като време с Епоха;
Използване на getTime() и setTime();
Разбор на низово представяне на дати;
Опции за създаване на низове в JS: използване на единични и двойни кавички;
Интерполация на низ (низ в апостроф);
Ескейпиране на специални знаци в низ;
Конкатенация на низове, преобразуване в главни и малки букви;
Намиране на подниз с помощта на indexOf() и lastIndexOf();
Избиране на подниз с помощта на substring() и substr()
Използване на методите include, endsWith, startsWith.
4. Използване на JavaScript в браузъра: DOM модел:
Управление на прозореца на браузъра, документ, събития и стилове (CSS стилове);
Обектът прозорец и неговите употреби;
Свързване на JavaScript код към HTML страница;
Редът на изпълнение на скриптовете на страницата;
Кеширане на скриптове, CDN сървъри, принудително презареждане на JavaScript;
Работа с връзки, свързване на JavaScript към връзки;
Събитието onload и неговото използване;
XSS атаки на сайта;
Работа с DOM: използване на прозорец, документ, подчинени възли;
Манипулиране на документ с помощта на DOM: създаване, изтриване, преместване на елементи;
Използване на getElementById(), getElementsByTagName(), getElementsByClassName() за намиране на елементи на страницата;
Работа с методи и свойства на HTMLDocument и HTMLElement.
5. Работа със събития в браузъра:
Концепцията за програмиране на събития;
Обработчици на събития и слушатели;
Свързване на манипулатори с помощта на addEventListener();
Свойства и методи на класа Event;
Разпространение на събития нагоре (бълбукане) и надолу (улавяне);
Спрете разпространението;
Прозоречни събития;
Събития с мишката и клавиатурата, специални свойства на събитието;
Форма събития;
6. Работа с CSS и управление на стилове:
CSS стандарт, основни CSS свойства;
Общи стилове и стилове на отделни елементи;
Каскадни стилове;
CSS селектори;
Модифициране на CSS с JavaScript;
Padding: margin, padding, border;
Контрол на видимостта на елементите: видимост и показване;
Позициониране на елементите: абсолютно, фиксирано, относително, настройка отгоре и отляво;
Мерни единици px, pt и други;
Препълване на елемент и управление чрез свойството overflow;
Управление на слоеве на документи: свойство zIndex;
Анимация, движение на елементи;
Работа с класове, настройка на className;
Работа с прозрачност и преходи;
метод querySelectorAll().
7. Работа с модули в JavaScript, NPM мениджър на пакети, Webpack builder:
Причини за използване на модули;
Експорт от модула;
Импорт от модул;
Реекспорт;
Работа с NPM, файл package.json;
папка node_modules, изтегляне на пакети чрез NPM;
Глобална и локална инсталация на пакети;
Използване на webpack за изграждане на проект;
CSS и TypeScript зареждащи програми;
Конфигурация webpack.config.js;
Създаване на пакет, компресия;
плъгини за webpack;
Използване на стари модулни системи – CommonJS и AMD;
Използване на CommonsChunkPlugin, множество входни точки;
HMR модули с възможност за гореща смяна.
8. Класове и наследяване в JavaScript:
Наследяване на прототип, справка __proto__;
Прототип на обект;
Използване на instanceof;
Ключова дума клас, създаване на класове;
Ключова дума супер;
Използване на метода Object.assign();
Използване на метода Object.defineProperty();
Геттери и сетери;
Оператор за разпространение за работа с обекти и масиви;
Деструктуриране на масив и обект.
9. Функционално програмиране в JavaScript:
Функции като променливи;
Аргументи на масива;
Функционален клас, call() и apply() методи;
Методът bind(), който задава този и някои от параметрите с помощта на bind;
Затваряния в JavaScript;
Капсулиране на стойности чрез затваряне;
Създаване на функция чрез конструктора Function: конструиране на низ;
Стрелкови функции, примери за тяхното приложение;
Манипулиране на функционални масиви: намиране, намиранеиндекс, филтър;
Примери за използване на map/filter/reduce за обработка на данни в масив.
10. Неизменност, тестване, MVC модел:
Концепцията за неизменност, нейните предимства;
Променливи и неизменни методи за промяна на обекти и масиви;
Концепция и предимства на Virtual DOM;
Тестване на неизменни функции, използвайки Jest;
Мемоизация, нейните предимства;
Основни грешки и препоръки при използване на функционално програмиране;
MVC модел, създаване на потребителски интерфейс;
Преглед на основните библиотеки за разработка на интерфейс: Angular, React, Vue.
11. Асинхронност в JavaScript. Обещания:
Концепцията и необходимостта от асинхронност;
Работа с setTimeout, setInterval, clearTimeout;
Функции за обратно повикване (обратни повиквания);
Загуба на това при работа с функция за обратно извикване. Решения (използване на свързване, функции със стрелки и др.);
Концепцията за обещания, връщане на обещание от асинхронна функция;
Метод Promise.all(), приложението му;
async/await синтаксис, случаи на употреба, ограничения;
Обработка на извънредни ситуации: Отхвърляне на обещание, обработка на изключения за асинхронни повиквания.
12. Работа със сървъра. HTTP протокол. REST услуги:
HTTP протокол;
HTTP хедъри и методи (GET, POST, PUT, DELETE, други), трансфер на данни;
HTTP сървъри (общ преглед);
Кодове за отговор на HTTP сървъра;
Използване на формуляри за подаване на данни;
Прехвърляне на данни към сървъра чрез AJAX;
REST архитектура: предимства и характеристики;
Внедряване на CRUD (Create/Read/Update/Delete operations) при работа с REST;
Използване на функцията fetch() за получаване и изпращане на данни;
Документиране на REST услуги с помощта на Swagger;
HATEOAS концепция, приложение;
13. Библиотека AXIOS. WebSocket протокол:
Сравнение на библиотеката Axios от високо ниво и използването на fetch() от ниско ниво;
GET и POST заявки в Axios;
Използване на async/await с Axios;
Обработка на грешки при използване на Axios;
Отмяна на заявка чрез Axios;
WebSocket протокол;
Примери за използване на WebSocket, сравнение с HTTP;
HTML анимация;
Забележка
Материалите на курса са представени на английски език.