Ta lekcja jest w bazie eduweb

Zaloguj się kontem z dostępem albo wykup dostęp do bazy, żeby obejrzeć wideo.

Lekcja 35/ 81Pętla for...of

0:00 / 0:00
Full-stack i ProgramowanieJavaScriptNowy Standard JavaScript

EcmaScript 6: Pętla for...of

10 godz. 43 min wideo81 lekcji21 modułów

Czego się nauczysz

  • Wszystkie nowe konstrukcje języka JavaScript
  • Omówienie różnic w porównaniu z ES5
  • Przegląd nowości w ES2016/2017
  • Nowoczesny workflow z npm i webpack
  • Techniki transpilowania kodu z Babel
  • Praktyczny projekt biblioteki DOM
  • Masa “smaczków” na temat każdej konstrukcji
  • Wiele cennych, praktycznych porad

EcmaScript 6 - Nowy Standard JavaScript

Kurs, który masz przed sobą, to 10-godzinna przygoda z najnowszą edycją języka JavaScript. Mowa tutaj konkretnie o specyfikacji EcmaScript 2015, która do języka JavaScript wprowadziła bardzo wiele nowości. Jeśli zatem spotkałeś się z określeniem ES6 lub EcmaScript 6, to chodzi właśnie o tę specyfikację. Nowości, które zostały dodane do języka to z jednej strony nowy, ulepszony zapis, który pozwala realizować dokładnie te same zadania, które mogliśmy wykonać do tej pory, a z drugiej strony pewne nowe konstrukcje, których działania nie da się odwzorować w starszej wersji języka. Pisanie kodu ES6 to dzisiaj standard, a znajomość tej specyfikacji to konieczność, aby utrzymać się na rynku pracy lub postawić na nim pierwsze kroki. Warto zatem poznać wszystkie nowości, które się z nią wiążą.

Nowe konstrukcje języka

Na początku dowiesz się jakie nowości pojawiły się w języku, jeśli chodzi o tworzenie zmiennych i stałych. Poznasz dwa nowe słowa let i const, a także dokładnie omówimy ich różnice, względem znanego nam do tej pory słowa var. Następnie poruszymy temat obiektów. Zobaczysz jak nowy zapis pozwoli znaczenie ułatwić nam pracę i sprawić, by kod był bardziej czytelny. W kolejnym rozdziale porozmawiamy o zmianach w funkcjach. Poznasz tzw. arrow functions wraz z poradami, kiedy z nich korzystać, a także z konsekwencjami ich użycia. Zobaczysz również, jak korzystać z domyślnych parametrów. Następną nowością będą operatory rest i spread, które znacząco uproszczą pisanie kodu dla funkcji i tablic. Chwilę później rzucimy okiem na bardzo ciekawy temat, mianowicie na tzw. destructuring. To nowa funkcja języka, która pozwala w łatwy sposób wyciągnąć odpowiednie dane z tablic i obiektów, nawet jeżeli te posiadają kilkupoziomową, zagnieżdżoną strukturę. Zmian doczekały się również ciągi znaków. Poznasz nowy zapis, tzw. template string, a także możliwość wykorzystania funkcji tagujących.

Praca z klasami

ES6 wprowadza do języka JavaScript zapis klas. I choć na początku wydaje się, że to duży krok w stronę klasycznych obiektowych języków programowania, to jak się przekonasz, jest to w dużej mierze tzw. syntactic sugar, a więc zupełnie nowy, prostszy zapis, a prawie identyczne jak wcześniej działanie, oparte na dziedziczeniu prototypowym. W kursie poruszymy również temat Symboli oraz tego jak z nimi pracować, a chwilę później poznasz iteratory. To konstrukcje ułatwiające iterację, które znacząco upraszczają pracę z kolekcjami danych. Wraz z iteratorami poznasz również generatory, które ułatwiają z kolei tworzenie tych iteratorów. Istotną nowością w ES6 są również natywne Promise. To sposób na rozwiązanie problemu asynchroniczności, który znamy od bardzo dawna w postaci różnych bibliotek. Od teraz jednak Promisy znajdują się bezpośrednio w języku. Nowymi konstrukcjami, które pozwalają pracować z kolekcjami danych, są Map i Set. Dowiesz się jak z nich korzystać, a także do czego są przydatne. W jednym z rozdziałów rzucimy też okiem na tzw. Proxy API. To mechanizm języka, który pozwala na dość niskopoziomowy dostęp do różnych operacji. I choć być może nie jest to coś, z czego będziesz korzystał nad wyraz często, to warto wiedzieć, jakie są nowe możliwości tego API.

Tworzenie modułowego kodu

Jedną z najlepszych nowości, która zawitała do języka JavaScript wraz z ES6 są moduły. To możliwość dzielenia kodu na wiele plików, z których można pewne wartości wyeksportować, a następnie zaimportować je w innych modułach. Tutaj dowiesz się wszystkiego, co z modułami związane. Zobaczysz wiele sposobów na eksport i import, a także jak pracować z modułami w przeglądarkach internetowych. Kurs skupia się na omówieniu wszystkich najważniejszych nowości w ES6, dzieląc je na rozdziały. Jeden z nich natomiast, poświęcony został omówieniu mniejszych zmian, które znalazły się w specyfikacji. Poznasz w nim np. nowe metody tablic czy ulepszoną współpracę z Unicode.

ES2016/2017

Specyfikacja EcmaScript 2015 wprowadziła naprawdę bardzo wiele zmian, ale jej twórcy założyli, że od tego czasu każda kolejna wersja specyfikacji będzie pojawiać się co roku. Oznacza to przede wszystkim, że nie będziemy na raz bombardowani aż tak wieloma zmianami, jak w 2015 roku. W tym kursie nie zabrakło zatem omówienia nowości ze specyfikacji ES2016 oraz 2017, gdzie poznasz np. nowe metody dla stringów czy funkcje asynchroniczne.

Nowoczesny workflow z npm i webpack

Kiedy będziesz już uzbrojony w solidną wiedzę z zakresu nowości w ES6, dowiesz się jak w praktyce pracuje się dzisiaj z tym standardem. W jednym z rozdziałów omówimy nowoczesny workflow z użyciem npm i wykorzystamy popularne narzędzie webpack, do pracy z modułami, a także do transpilowania kodu ES6 do wersji ES5. Dzięki temu nowoczesny kod, który napiszemy, będzie mógł być uruchamiany również w starszych przeglądarkach, które nie wspierają najnowszego standardu. Dowiesz się na co zwrócić uwagę, by wszystko działało bez zarzutu.

Praktyczny projekt: Biblioteka DOM

Zwieńczeniem tego kursu będzie praktyczny projekt, w którym od podstaw wykonamy swoją własną bibliotekę do pracy z Obiektowym Modelem Dokumentu. Będzie ona w działaniu nieco podobna do znanej chyba wszystkim biblioteki jQuery. Na tym przykładzie postaramy się wykorzystać jak najwięcej wiedzy z zakresu ES6 zdobytej wcześniej. Stworzymy metody do pracy z drzewem dokumentu, a więc do wyszukiwania elementów, do tworzenia nowych, do przypisywania im klas, atrybutów czy styli CSS. Nie zabraknie również modułu odpowiedzialnego za współpracę z Ajax. Cały kod utworzymy oczywiście w sposób modułowy, aby bibliotekę można było łatwo rozwijać w przyszłości. Na koniec projekt ten przetranspilujemy do kodu ES5 z użyciem Babel i przetestujemy w starszej przeglądarce Internet Explorer 11, aby upewnić się, że nasza biblioteka działa poprawnie.

Dla kogo jest ten kurs?

Kurs ten jest dla wszystkich osób, które znają już język JavaScript i czują się w pracy z nim swobodnie. Jeśli zatem chciałbyś pracować z nowoczesnym kodem JavaScript, to ten kurs jest zdecydowanie dla Ciebie. A może masz zamiar poznać framework Angular lub bibliotekę React? Tam również wykorzystywany jest najnowszy zapis ES6, więc wiedza ta będzie naprawdę pomocna. Z solidną wiedzą z zakresu EcmaScript 6, bez trudu pozostaniesz na bieżąco z każdą kolejną edycją tej specyfikacji.

Kurs EcmaScript 6

21 rozdziałów81 lekcji10h 43min

Wstęp do kursu

32min
  • Wprowadzenie8min(zablokowana)
  • Czym jest EcmaScript 6?7min(zablokowana)
  • Jak ułożony jest ten kurs?5min(zablokowana)
  • Jak korzystać z plików źródłowych13min(zablokowana)

Zmiany w tworzeniu zmiennych

24min
  • Słowo var i tzw. hoisting6min(zablokowana)
  • Nowe słowa let i const14min(zablokowana)
  • Który zapis do jakich sytuacji?3min(zablokowana)

Nowości w obiektach

17min
  • Zmiany w literałach obiektów7min(zablokowana)
  • Nowe metody dla Object10min(zablokowana)

Zmiany w funkcjach

41min
  • Nowa konstrukcja - arrow function10min(zablokowana)
  • Arrow function i kontekst12min(zablokowana)
  • Domyślne parametry8min(zablokowana)
  • Domyślne parametry i zmienna arguments4min(zablokowana)
  • Nazwa funkcji i debugowanie6min(zablokowana)

Operatory rest i spread

17min
  • Operator rest7min(zablokowana)
  • Operator spread9min(zablokowana)

Dekompozycja

31min
  • Dekompozycja obiektów9min(zablokowana)
  • Dekompozycja tablic6min(zablokowana)
  • Dekompozycja zagnieżdżonych struktur6min(zablokowana)
  • Domyślne wartości i operator rest6min(zablokowana)
  • Dekompozycja parametrów funkcji4min(zablokowana)

Zmiany w ciągach znaków

24min
  • Template strings8min(zablokowana)
  • Funkcje tagujące9min(zablokowana)
  • Nowe metody dla String7min(zablokowana)

Klasy

55min
  • Tworzenie klas10min(zablokowana)
  • Dziedziczenie15min(zablokowana)
  • Dziedziczenie z wbudowanych typów6min(zablokowana)
  • Metody statyczne5min(zablokowana)
  • Użycie super na obiektach7min(zablokowana)
  • Ciekawostki odnośnie klas11min(zablokowana)

Symbole

27min
  • Tworzenie Symboli9min(zablokowana)
  • Metody Symboli6min(zablokowana)
  • Symbole wbudowane12min(zablokowana)

Iteratory

29min
  • Tworzenie iteratorów9min(zablokowana)
  • Pętla for...of6min(zablokowana)
  • Operator spread na iteratorach6min(zablokowana)
  • Dodawanie iteratora do klasy9min(zablokowana)

Generatory

32min
  • Tworzenie generatorów11min(zablokowana)
  • Przekazywanie wartości10min(zablokowana)
  • Obsługa błędów3min(zablokowana)
  • Zwracanie z generatora4min(zablokowana)
  • Delegowanie generatorów5min(zablokowana)

Promises

39min
  • Korzystanie z Promise7min(zablokowana)
  • Łączenie łańcuchowe7min(zablokowana)
  • Metody statyczne Promise5min(zablokowana)
  • Praca z wieloma promisami9min(zablokowana)
  • Współpraca z generatorami12min(zablokowana)

Map i Set

33min
  • Korzystanie z Set8min(zablokowana)
  • Korzystanie z WeakSet10min(zablokowana)
  • Korzystanie z Map8min(zablokowana)
  • Korzystanie z WeakMap8min(zablokowana)

Nowe Proxy API

17min
  • Gettery i settery w ES54min(zablokowana)
  • Tworzenie obiektu proxy8min(zablokowana)
  • Pułapka z apply5min(zablokowana)

Moduły

41min
  • Korzystanie z modułów8min(zablokowana)
  • Różne sposoby eksportu i importu14min(zablokowana)
  • Import bez eksportu2min(zablokowana)
  • Ciekawostki odnośnie modułów7min(zablokowana)
  • Korzystanie z modułów w przeglądarkach9min(zablokowana)

Mniejsze zmiany

29min
  • Nowości w tablicach7min(zablokowana)
  • Nowości dla Number6min(zablokowana)
  • Nowości dla Math6min(zablokowana)
  • Nowości dla RegExp10min(zablokowana)

EcmaScript 2016

6min
  • Nowy operator potęgowania2min(zablokowana)
  • Metoda includes dla tablic4min(zablokowana)

EcmaScript 2017

8min
  • Nowości dla String5min(zablokowana)
  • Funkcje asynchroniczne4min(zablokowana)

Nowoczesny workflow z npm

52min
  • Jak pracować z npm?13min(zablokowana)
  • Tworzenie bundli kodu z webpackiem17min(zablokowana)
  • Transpilowanie kodu ES6 do ES510min(zablokowana)
  • Korzystanie z babel-polyfill13min(zablokowana)

Praktyczny projekt: Biblioteka DOM

1h 25min
  • Własna biblioteka DOM11min(zablokowana)
  • Dodanie głównej klasy12min(zablokowana)
  • Rozszerzanie poprzez mixiny14min(zablokowana)
  • Metody atrybutów i CSS7min(zablokowana)
  • Metody do pracy z treścią3min(zablokowana)
  • Metody do pracy ze zdarzeniami5min(zablokowana)
  • Łączenie łańcuchowe4min(zablokowana)
  • Metody do pracy z Ajax14min(zablokowana)
  • Transpilowanie do ES5 i UMD15min(zablokowana)

Zakończenie

5min
  • Podsumowanie5min(zablokowana)

Ten kurs jest w bazie eduweb

Dostęp do wszystkich kursów z bazy eduweb za 199 zł/mies.

Wykup dostęp do bazy

Autor kursu