Välkommen JavaScript 2.0

JavaScript dominerar webben – och ECMAScript, kärnan i språket, mognar. Den nya specifikationen (ES6 eller JS2), som förväntas i mitten av året, medför ett flertal innovationer som redan kan testas. Firefox erbjuder för närvarande det bästa stödet , men polyfills via transpilers som Google Traceur är också möjliga. En kort översikt över de nya funktionerna i ES6 följer.


Det nya nyckelordet let gör mycket bättre än var : Scoping fungerar nu exakt som på andra språk (C / C ++, Java), varför if-blocks nu också har sitt eget omfång. Lyftningen, dvs förflyttningen av variabla deklarationer (inte värdetilldelningar) inom respektive omfattning repareras också:

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

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

Antalet andra innovationer är långa: konstanter (const), standardvärden för funktioner (funktion pow(a,b=2) { return Math.pow(a,b); }), en ny notation för funktioner (låt pow = (a,b=2) => Math.pow(a,b);), en mängd nya funktioner (repeat(), innehåller(), konstruktion(), konstruktion(), start() för att hitta den nya för funktioner. av.

Värt att nämna är också de nya datatyperna Set, Map, Proxy och Symbol, möjligheten att importera (delar av andra) JavaScript-filer med import och en ny intuitiv syntax för klasser och arv. Men ofta finns det också små men efterlängtade saker som möjligheten till radbrytningar i strängbokstavar (observera de speciella citattecken):

`foo

bar`

JavaScript har länge varit mycket mer än ett verktyg för små webbplatstrick – det skapar kraftfulla, högpresterande webbapplikationer som inte på något sätt är sämre än sina skrivbordsmotsvarigheter. Med det stora antalet användbara innovationer och det befintliga stödet för ES6 är programmering dubbelt så roligt.

Vem har inte alltid velat kontrollera likheten mellan två siffror med hjälp av det nya konstanta talet. EPSILON , vars värde är skillnaden mellan 1 och nästa högre flytpunkt?

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