August 12, 2018

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