Üdvözöljük a JavaScript 2.0-t

A JavaScript uralja a webet – és az ECMAScript, a nyelv magja, egyre érettebb. Az év közepére várható új specifikáció (ES6 vagy JS2) számos olyan újítást hoz, amelyek már tesztelhetők. A Firefox jelenleg a legjobb támogatást nyújtja, de a polyfillek olyan transzpilereken keresztül, mint a Google Traceur, is lehetségesek. Az alábbiakban röviden áttekintjük az ES6 új funkcióit.


Az új kulcsszó let nem sokkal jobb, mint var: a tartalom meghatározás most pontosan úgy viselkedik, mint más nyelveken (C / C ++, Java), ezért ha-blokkok most is megvan a saját körét. Az emelés, vagyis a változó deklarációk (nem érték-hozzárendelések) előrehozása az adott hatókörön belül szintén javításra kerül:

console.log(x);
var x = 'foo'; 
// undefined

console.log(y);
let y = 'bar';
// not initialized

A további újítások listája hosszú: konstansok (const), függvények alapértelmezett értékei (function pow(a,b=2) { return Math.pow(a,b); }), új jelölés a függvényekhez (let pow = (a,b=2) => Math.pow(a,b);), számos új függvény (repeat(), contains(), startsWith(), find(), findIndex()), az új cikluskonstrukció a ... of függvényhez.

Említésre méltóak még az új Set, Map, Proxy és Symbol adattípusok, a (más fájlok részeinek) importálásának lehetősége az `import` paranccsal, valamint az osztályok és az öröklődés új, intuitív szintaxisa. Gyakran azonban a régóta várt apró funkciókról van szó, mint például a sortörések beillesztésének lehetősége a karakterlánc literálokba (figyeljük meg a speciális idézőjeleket).:

`foo

bar`

A JavaScript már régóta sokkal több, mint egy eszköz apró weboldali trükkökhöz – hatékony, nagy teljesítményű webes alkalmazások létrehozására használják, amelyek minden tekintetben ugyanolyan jók, mint asztali megfelelőik. A rengeteg hasznos új funkcióval és az ES6 meglévő támogatásával a programozás kétszer olyan élvezetes.

Ki ne mindig akarta volna ellenőrizni két szám egyenlőségét az új Number.EPSILON segítségével , amelynek értéke az 1 és a következő magasabb lebegőpontos érték közötti különbség?

let cmp = (a,b) => Math.abs(a-b) < Number.EPSILON;
Vissza