Nowoczesny JavaScript
Zarejestruj tutaj lub napisz bezpośrednio
Opis
Celem kursu jest przygotowanie uczestnika do umiejętnego i poprawnego dobierania komponentów języka JavaScript (łączącego wiele paradygmatów języków programowania, posiadającego różnorodność zastosowań tj. funkcyjny vs obiektowy, statyczny vs dynamiczny, kompilowany vs interpretowany i in.) oraz języka TypeScript do odpowiednich zastosowań biznesowych.
Dzięki szkoleniu uczestnik:
- programuje w JavaScript identyfikując poprawnie elementy nowoczesnego języka JavaScript,
- stosuje nowe elementy języka (Spread / rest operator dla obiektów, Async / await, Asynchroniczne iteratory / generatory) w serwerowych aplikacji tworzonych w Node.js,
- stosuje nowe elementy języka (Spread / rest operator dla obiektów, Async / await, Asynchroniczne iteratory / generatory) w klienckich aplikacjach tworzonych w Angular oraz React.js,
- wykorzystuje techniki programowania asynchronicznego oraz reaktywnego,
- korzysta z kluczowych elementów programowania funkcyjnego (między innymi funkcyjnej organizacji kodu, deklaratywnego oraz niezmienniczego programowania ) oraz śledzi korzyści wynikające z jego zastosowania.
Czas trwania: 3 dni
Szczegóły
- ES5
- Historia JavaScript
- Typy prymitywne, operatory
- Obiekty, tablice
- Sterowanie przepływem programu, obsługa błędów
- Funkcja, działanie this oraz arguments
- Prototypowe dziedziczenie
- ES6 (ES2015)
- Proces projektowania JavaScript
- Składowe ES6, transkompilacja kodu, polyfills
- Domyślne wartości argumentów
- Object Literal Extensions
- Template Literals
- Let, const
- Spread / rest operator
- Destructuring
- Iteratory, generatory
- Moduły, klasy
- Nowe elementy JavaScript (ES2016, ES2017, ES2018, …)
- Spread / rest operator dla obiektów
- Async / await
- Asynchroniczne iteratory / generatory
- TypeScript
- Opcjonalna typowalność
- Funkcje
- Interfejsy
- Intersection & Union Types
- Nullable Types
- String literal types
- Discriminated unions
- Klasy
- Typy generyczne
- Pliki deklaracyjne
- Dekoratory
- Typowanie strukturalne (duck typing)
- Programowanie funkcyjne
- Imperatywne vs deklaratywne programowanie
- Obiektowa vs funkcyjna organizacja kodu
- Funkcje wyższego rzędu (higher-order function), first class function
- Leniwa ewaluacja (lazy evaluation), sekwencje vs kolekcje
- Programowanie niezmiennicze (immutable)
- Algebraiczne typu danych, rekordy
- Dopasowanie do wzorca (pattern matching)
- Efekty uboczne (side effects), czyste funkcje
- Opcjonalne typy danych
- Programowanie asynchroniczne oraz reaktywne
- Wywołania zwrotne (callbacks), continuation-passing style, async.js
- Promise, async/await
- Observable
- Programowanie reaktywne z wykorzystaniem RxJS
- Asynchroniczne iteratory/generatory
- Wybrane elementy Node.js, Angular, React.js