JavaScript, ES6, ES7, ES10, kde to jsme?
On 26 ledna, 2022 by adminES6 a ES7 – připomenutí
Nebudu vás urážet a psát další úvod do ES6… Ale vlastně to udělám. Stručně řečeno, ES6 (neboli ES2015) je dávka funkcí, které prošly čtvrtou fází podle milníku 2015. Jinými slovy, pokud dobře rozumíte ES6 a máte nějaké znalosti o ES7, máte zhruba 4 roky co dohánět… Žádný tlak.
Podívejme se, co je oficiálně součástí ES6. Mimochodem, všechny tyto funkce jsou oficiálně podporovány napříč prohlížeči. Jinými slovy, k použití žádné z nich nepotřebujete Babel (pokud nepodporujete IE 11, kterému jich několik chybí).
V ES6 máme:
Možnost vytvářet a dědit třídy.
class MyComponent extends React.Components {}
Moduly ES6 s importem a exportem.
import * from 'React';export default MyComponent;
Generátory
let fibonacci = {
*() {
let pre = 0, cur = 1
for (;;) {
=
yield cur
}
}
}
Všimli jste si? Dekorátory, destrukce objektů (jako React props: {…props}) a tak dále nejsou součástí ES6!
O ES7 (ES2016) zde máme, co máme. Je to docela malá aktualizace:
- Operátor exponencializace
base ** exponent
- Množina obsahuje
array.includes(myItem) // true or false
Zdroj: http://ecma-international.org/ecma-262/7.0/
Jak jste si asi všimli, ne, Async/Await není součástí ES7, ale ES8!
ES8, ES9, ES10
Každý, kdo v posledních dvou letech absolvoval pohovor týkající se JavaScriptu, byl minimálně 1671krát dotázán, co je ES6 a jaké přináší funkce. Ale všiml si někdo, jak se JS zjevně najednou nezastavil u ES6 ani ES7, a přesto se vás na to nikdo neptá? Tady máte příležitost uvést věci na pravou míru!
V ES8 (ES2017) jsou k dispozici tyto funkce:
A samozřejmě funkce Async / Await:
Pokud jste sledovali článek, už by vám to mělo dojít: Až na malé výjimky, které jsou ve fázi 4, je můžete používat v prohlížeči bez Babelu (to znamená, že ES8 je ES2017, je stále ještě docela nový a některé implementace jako Edge a nativní engine Opery trochu zaostávají).
Přejděme k ES9. Stejně jako ES8 a ES6 je i ES9 (neboli ES2018) poměrně zásadní aktualizací:
Napsat komentář