Mellékleteink: HUP | Gamekapocs
Keres

Hivatalos az ECMAScript 7

Gálffy Csaba, 2016. június 20. 15:00
Ez a cikk több évvel ezelőtt születetett, ezért előfordulhat, hogy a tartalma már elavult.
Frissebb anyagokat találhatsz a keresőnk segítségével:

Véglegessé vált a szabvány következő verziója. Sajnos a teljes implementációt még a tavalyi verzió sem kapta meg sehol, évekig lehet részleges az ES7 támogatása is.

Tavaly nyáron lett hivatalos szabvány az ES6 (ECMAscript 6, aka "JavaScript 6"), februárban pedig már a következő, ES7 szabvány előzetese (draft) is megérkezett. Az új menetrend szerint az iparági fórum, a TC39-es munkacsoport évente dolgoz ki új szabványt, ennek megfelelően már az ES8 is a futószalagon van. Az ES7 most kapott hivatalos szabványt, lássuk, mi került be a kiadásba.

Az ES7 újdonságainak listája eléggé rövid, ami szándékos is, az iteratív, évente frissülő modellben nagyjából ennyi fér egy-egy nagy kiadásba. Ami "kiemelkedik", az az új hatványozási operátor és az Array.prototype.includes() metódus - és ezzel gyakorlatilag a végére is értünk a fontosabb újdonságoknak. A kiadás így most inkább arról szól, hogy a munkacsoport felkészül az új éves kiadási ciklusra és javaslatokkal tölti fel a következő néhány évre vonatkozó terméktervet, ennek megfelelően csak kipróbált, validált megoldások kerültek most be.

A cél egyébként nemes, az ES6 esetében ugyanis több újdonságról is utólag derült ki, hogy a szabvány pontatlan vagy hibás, így több motor is a szó szerint vett szabványtól eltérő működést implementált. Az ES7-tel visszavett a tempóból a szabványon dolgozó munkacsoport, és hosszabb validálási periódusra váltott. A "sávszélesség" nem változik, a következő verziókkal újra magasabb tempóra teker a szervezet, csak a "késleltetés" lett nagyobb, vagyis hosszabb ideig tesztelik az egyes újdonságokat a szakemberek.

 

Szabvány? Inkább szabványtöredékek

Az ES7-es kód futtatásáért a különböző JavaScript-motorok felelnek, így értelemszerűen ezek fejlesztőinek kell gondoskodniuk a megfelelőségről és a szabványok tiszteletben tartásáról. A trend ma már egyértelműen kirajzolódik, a nagyobb szereplők igen válogatósak. A Google vagy épp a Microsoft nem az egyes szabványszinteket implementálja, vagyis nem ES6, majd ES7 támogatás érkezik, hanem az érdekesebbnek, fontosabbnak tartott szabványszeletek kerülnek be a motorokba először.

Szerencsére abban általános a megegyezés, hogy ami tényleg bekerül a motorba, az megfelel a szabványnak, vagyis amit a végrehajtó réteg támogat, az biztosan ugyanúgy működik minden JS-motoron. Abban azonban a fejlesztő nem lehet biztos, hogy az adott nyelvi funkció működik is mindenhol, így folyamatosan kell nézni az ehhez hasonló táblázatokat, hogy melyik motor éppen melyik elemet támogatja.

Öröm az ürömben, hogy szerencsére nincs épp olyan nagyon sok JS-motor a piacon, a böngészős kódnak jellemzően csak az Internet Explorer, a Firefox, a Chrome és a Safari implementációját kell figyelemmel követni. Utóbbi egyébként a mobilos platform, az iOS miatt számít relevánsnak, asztali környezetben jelképes a részesedése. E négy nagy böngészőcsalád közös nevezőjére kell lőni a fejlesztés során. Az ES7 (nemhivatalos) kompatibilitási táblázata erre látható, az ES2016-os részt kell figyelni, ebben az Edge 14 és a Chrome 51 vezeti a listát jelenleg.

Facebook

Mit gondolsz? Mondd el!

Adatvédelmi okokból az adott hír megosztása előtt mindig aktiválnod kell a gombot! Ezzel a megoldással harmadik fél nem tudja nyomon követni a tevékenységedet a HWSW-n, ez pedig közös érdekünk.