JavaScript dominerar på webben och ECMAScript, kärnan i språket växer upp. Den nya specifikationen (ES6 eller JS2), som förväntas i mitten av året, för med sig många innovationer som kan testas idag. Firefox har för närvarande det bästa stödet , men polyfills genom så kallade transpilers som Google Traceur är också möjliga. Följande är en kort översikt över de nya funktionerna i ES6.
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ångt: konstanter (konst), 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 (upprepa (), innehåller (), startsWith (), find (), findIndex ()), den nya loopkonstruktionen för av.
De nya datatyperna, karta, proxy och symbol, import av (delar av andra) JavaScript-filer med import och en ny intuitiv syntax för klasser och arv bör också nämnas. Ofta finns det också små men efterlängtade saker som möjligheten till radbrytningar i stränglitteraler (notera de speciella citattecken):
`foo bar`
JavaScript har länge varit mycket mer än ett verktyg för små webbplatstrickar - det skapar kraftfulla, högpresterande webbapplikationer som inte på något sätt är sämre än deras motsvarigheter på skrivbordet. Med det stora antalet användbara innovationer och det stöd som redan finns tillgängligt från 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)