JavaScript, ES6, ES7, ES10 hol tartunk?
On január 26, 2022 by adminES6 és ES7 – emlékeztető
Nem akarlak megsérteni, és írni egy újabb ES6 bevezetőt…De tulajdonképpen mégis megteszem. Dióhéjban az ES6 (vagy ES2015) a 2015-ös mérföldkő szerint a 4. fázison túljutott funkciók halmaza. Más szóval, ha jól érted az ES6-ot és van némi tudásod az ES7-ről, akkor körülbelül 4 évet kell behoznod… Nincs nyomás.
Vessünk egy pillantást arra, mi az, ami hivatalosan az ES6 része. Egyébként ezek a funkciók mindegyike hivatalosan támogatott a böngészőkben. Más szóval, nincs szükséged Babelre ahhoz, hogy bármelyiket használd (kivéve, ha támogatod az IE 11-et, amelyből néhány hiányzik).
Az ES6-ban van:
Az osztályok létrehozásának és öröklésének lehetősége.
class MyComponent extends React.Components {}
ES6 modulok importtal és exporttal.
import * from 'React';export default MyComponent;
Generátorok
let fibonacci = {
*() {
let pre = 0, cur = 1
for (;;) {
=
yield cur
}
}
}
Észrevetted? A dekorátorok, objektum destructuring (mint a React props: {…props}) és így tovább nem részei az ES6-nak!
Az ES7-ről (ES2016) a következőket tudjuk. Ez egy elég kis frissítés:
- Az exponenciálási operátor
base ** exponent
- Array tartalmazza
array.includes(myItem) // true or false
Forrás: http://ecma-international.org/ecma-262/7.0/
Amint valószínűleg észrevetted, nem, az Async/Await nem az ES7, hanem az ES8 része!
ES8, ES9, ES10
Mindenkit, akinek az elmúlt 2 évben volt egy JavaScripthez kapcsolódó interjúja, legalább 1671 alkalommal megkérdezték, hogy mi az ES6, és milyen funkciót hoz. De észrevette valaki, hogy a JS nyilván nem állt meg hirtelen sem az ES6-nál, sem az ES7-nél, mégsem kérdezi senki? Itt a lehetőség, hogy helyrehozd a dolgokat!
Az ES8-ban (ES2017) itt vannak az elérhető funkciók:
És persze az Async / Await függvények:
Ha követted a cikket, mostanra már érted: Kevés kivételtől eltekintve, ezek a funkciók a 4. fázisban vannak, Babel nélkül is használhatod őket a böngészőben (ennek ellenére az ES8, mivel ES2017, még mindig elég friss, és néhány implementáció, mint az Edge és az Opera natív motorja kicsit le van maradva).
Lépjünk tovább az ES9-re. Az ES8-hoz és ES6-hoz hasonlóan az ES9 (vagy ES2018) is egy elég komoly frissítés:
Vélemény, hozzászólás?