Nowy Standard JavaScript
10 godz. 43 min · JavaScript · Full-stack i Programowanie
Piotr PalarzWeb DeveloperNa 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.
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.
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.
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.
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.
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.
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.
Witaj. Z tej strony Piotr Palarz z serwisu eduweb.pl. Mam przyjemność
zaprosić cię na 10 godziny materiał poświęcony najnowszej edycji języka
JavaScript. Mowa tutaj konkretnie o specyfikacji EcmaScript 2015,
która do języka wprowadziła naprawdę bardzo wiele nowości. Jeśli
zatem spotkałeś się z określeniem ES6 lub EcmaScript6, to
chodzi dokładnie o tą specyfikację. Ona do języka, tak jak wspomniałem wprowadziła
bardzo wiele nowości i są to zarówno nowości w samym zapisie, które
co prawda ułatwiają nam nie tylko pracę, ale wciąż pozwalają wykonywać te same
czynności, które mogliśmy wykonać wcześniej, ale z drugiej strony są to również nowe
konstrukcje, które pozwalają wykonywać takie rzeczy, które nie są możliwe
do odwzorowania w starszej wersji tej specyfikacji. Dzisiaj pisanie
kodu ES6 tak naprawdę jest już standardem i ta wiedza jest niezbędna, aby utrzymać
się na rynku pracy albo aby na nim postawić swoje pierwsze kroki, dlatego sądzę,
że warto nauczyć się wszystkiego co jest związane z EcmaScript6 i w
tym kursie będziesz miał ku temu świetną okazję. Dlatego zerknijmy sobie,
co konkretnie znajdziesz w naszym materiale. Na początku dowiesz
się, jakie nowości pojawiły się w języku. Jeśli chodzi o tworzenie zmiennych i stałych
i poznasz dwa nowe słowa, które się z tym wiąże a są to let i const i także
dokładnie omówimy sobie różnice pomiędzy tymi zapisami, a znanym
nam już wcześniej w języku JavaScript słowem kluczowym var. Następnie poruszymy
temat obiektów i zobaczysz jaki nowy zapis pojawił się dla
obiektów, które pozwala nam znacznie ułatwić pracę z nimi i sprawić
że kod będzie bardziej czytelny. W kolejnym rozdziale porozmawiamy
o zmianach w funkcjach i poznasz, tak zwane, arrow functions, wraz
z poradami kiedy z nich korzystać i jakie konsekwencje wiążą się z ich użyciem.
Zobaczysz również jak korzystać z domyślnych parametrów w funkcjach, a
więc jest to kolejna rzecz, której do tej pory brakowało w języku JavaScript. Następną
nowością, którą poznamy będą operatory rest i spread, które znacząco
uproszczą pisanie kodu dla tablic i przede wszystkim dla funkcji. Chwilę
później rzucimy okiem na bardzo ciekawy temat, mianowicie na tak zwane destructuring, a
jest to nowa funkcja języka, która pozwala w łatwy sposób wyciągać
dane zagnieżdżonych struktur, takich jak na przykład tablice czy obiekty i nawet
jeżeli one są zagnieżdżone na wielu poziomach, to tworzenie zmiennych, w których
będziemy te dane przechowywać jest teraz naprawdę proste. Następnie
przyjrzymy się zmianom w ciągach znaków i poznasz nowy zapis, który
nazywa się template string, a także możliwość wykorzystania tak zwanych
funkcji tagujących. ES6 wprowadza do języka
JavaScript zapis klas i choć na początku wydaje się, że jest to duży
krok w stronę takich klasycznych obiektowych języków programowania, to jak się
przekonasz jest to w dużej mierze tak zwany syntactic sugar, a więc jest
to zupełnie nowy prostrzy zapis, natomiast prawie identyczne jak wcześniej
działanie oparte na dziedziczeniu prototypowym w języku JavaScript. W kolejnym
rozdziale dowiesz się czym są symbole oraz jak nimi pracować, a chwilę później poznasz
również iteratory. Są to takie konstrukcje, które ułatwiają iterację
i znacząco ułatwiają nam dzięki temu pracę z kolekcjami danych.
Wraz z iteratorami poznasz również generatory, które z kolei są funkcjami
ułatwiającymi tworzenie iteratorów. Istotną
nowością w ES6 są również natywne promise, czyli tak zwane obietnice. Jest
to taka konstrukcja, która pozwala rozwiązać problem asynchroniczności. Natomiast
same promise znamy już od bardzo dawna w postaci różnych bibliotek. Teraz
po prostu zawitały do języka JavaScript jako natywna konstrukcja. Nowymi
konstrukcjami, które pozwalają w ES6 pracować z kolekcjami danych są
również set i map. Poznasz je w jednym z rozdziałów i dowiesz się
jak z nich korzystać, a także do czego są przydatne. W jednym
z rozdziałów wrzucimy również okiem na tak zwane proxy API, a jest to
nowy zupełnie mechanizm języka, który pozwala na dość niskopoziomowy dostęp
do różnych operacji i chociaż 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. Zdecydowanie
jedną z najlepszych nowości, która zawitała do języka JavaScript wraz z ES6
są moduły i jest to możliwość dzielenia kodu na wiele plików, z których
można pewne wartości wyeksportować, a następnie zaimportować je w zupełnie
innym module. Tutaj dowiesz się wszystkiego co z modułami jest związane. Zobaczysz
wiele sposobów na eksport i import, a także jak pracować z modułami w przeglądarkach
internetowych. Jeden z rozdziałów poświęcony został umówieniu mniejszych
zmian, które znalazły się w ES6 i w nim z kolei poznasz na przykłady nowe
metody tablic czy ulepszoną współpracę z unicode. Specyfikacja
EcmaScript 2015 wprowadziła na raz naprawdę bardzo wiele zmian, ale
jej twórcy założyli wtedy, ż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 2015 roku.
No i w tym kursie nie zabrakło oczywiście omówienia nowości ze
specyfikacji ES 2016 oraz 2017. 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 po pracy z modułami, ale także do tego aby przetranspilować
kod napisany w ES6 do wersji ES5. Dzięki
temu nowoczesny kod, który napiszemy, będzie mógł być uruchomiony również starszy przeglądarkach,
które nie wspierają najnowszego standardu. Dowiesz się w tym rozdziale na co
szczególnie zwrócić uwagę by wszystko działało bez zarzutu. Zwieńczeniem
tego kursu będzie praktyczny projekt, w którym wykonamy od podstaw swoją własną bibliotekę
do pracy z obiektowy modelem dokumentu. Będzie ona w działaniu nieco
podobna do znanej chyba wszystkim biblioteki jQuery i na tym przykładzie postaramy
się wykorzystać jak najwięcej wiedzy zdobytej z zakresu ES6 już
tym kursie i 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. Natomiast cały kod utworzymy oczywiście w sposób modułowy,
nie zabraknie też modułu do pracy z Ajax'em. Na koniec
projekt ten przetranspilujemy z użyciem webpacka do kodu w standardzie ES5
i przetestujemy go w starszej przeglądarce Internet Explorer 11, aby
upewnić się, że nasza biblioteka działa poprawnie. Jak
widzisz, sporo tematów znalazło się w tym kursie, dlatego na koniec odpowiedzmy sobie jeszcze na
pytanie dla kogo konkretnie jest ten kurs, a więc ten kurs jest dla wszystkich
osób, które znają już język JavaScript na przynajmniej średnim poziomie i chciały by
wyskoczyć na kolejny poziom i nauczyć się najnowszego standardu tego języka, aby
pisać kod w sposób nowoczesny. Dodatkowo, jeżeli na przykład chciałbyś
wykorzystywać takie frameworki jak Angular czy na przykład bibliotekę React,
to również wiedza z zakresu ES6 będzie niezbędna, dlatego że te
technologie wykorzystują właśnie ten najnowszy zapis. Natomiast, jeżeli jeszcze
nie masz solidnych podstaw języka JavaScript, to polecam ci wcześniej przerobienie
dwóch poprzednich kursów, które znajdują się na eduweb.pl, a jest to
kurs JavaScript od podstaw i JavaScript w praktyce. Pamiętaj, że ES6
jest nowym standardem, które tak naprawdę nadbudowuje poprzednie standardy,
czyli nie jest czymś zupełnie odrębnym, dlatego wiedza z zakresu ES5,
czyli tych wcześniejszych standardów i w ogóle języka JavaScript jest niezbędna,
aby zrozumieć wszystkie nowe konstrukcje w ES6, więc ja mam nadzieję,
że zachęciłem cię tym wprowadzeniem do tego, aby poznać ES6.
Zapewniam cię, że warto, no i mam nadzieję, że niebawem usłyszymy się w pierwszych lekcjach
tego kursu. Do usłyszenia.