Kurz 2 - Getting Started with ES2017/ES8
Ok, takže poté, co jsem si osvěžil základní znalosti o JS, můžeme se vrhnout na něco pokročilejšího (snad)
ECMAScript je jednoduše specifikace JS, která obsahuje také jednotlivé stage pro přidávaní nových features do JS. V momentě, kdy je feature ve stagi finished, tak se přidá do další speficifikace JS
V momentě, kdy chci používat nejnovější features JS, ale většina prohlížečů to ještě nepodporuje, tak použiju code transpiling. Většinou za to odpovídá babel
Těmito features se rozumí věci, které byli v knihovnách tak cool a používané, že se to rozhodli přidat do vanila JS.
Novinky:
Každý object má prototype. Funguje to jako extension metody v C#
Object.key, .values pomůžou vytáhnout property a hodnoty na konkrétním objektu
Je funny, že až v ES8 přidali extension metodu .includes, což je nejspíš ekvivalent .Contains()
Math.Pow se nahradila tímto: Math.Pow(3,2) => 3**2
Callbacky nahradili Promises (Pending, Fulfilled, Rejected)
Konečně to začíná dávat smysl
Async a Await fungují podobně jako v C#, kde výsledkem není Task, ale Promise. Await mi z Promisu vytahuje hodnotu
Web Workery - věc, pomocí které můžeme JS spouštět paralelně
Vypadá to sice skvěle, ale nejspíš to bude hell až to budu chtít použít v kodu :D