Velkommen JavaScript 2.0

JavaScript dominerer internettet – og ECMAScript, kernen i sproget, modnes. Den nye specifikation (ES6 eller JS2), der forventes at udkomme midt på året, bringer adskillige innovationer, der allerede kan testes. Firefox tilbyder i øjeblikket den bedste understøttelse , men polyfills via transpilere som Google Traceur er også mulige. En kort oversigt over de nye funktioner i ES6 følger.


Den nye søgeord lad gør meget bedre end var: Scoping opfører sig nu præcis som på andre sprog (C / C ++, Java), hvilket er grunden til, hvis-blokke nu også have deres egen rækkevidde. Hejsen, dvs. fremføring af variable erklæringer (ikke værditildelinger) inden for det respektive anvendelsesområde, repareres også:

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

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

Antallet af andre innovationer er langt: konstanter (const), standardværdier for funktioner (funktion pow(a,b=2) { return Math.pow(a,b); }), en ny notation for funktioner (lad pow = (a,b=2) => Math.pow(a,b);), en række nye funktioner (repeat(), indeholder(), inde(), konstruktion(), find() for nye funktioner), af.

Også værd at nævne er de nye datatyper Set, Map, Proxy og Symbol, muligheden for at importere (dele af andre) JavaScript-filer med import og en ny intuitiv syntaks for klasser og arv. Men ofte er der også små, men længe ventede ting som muligheden for linjeskift i strenge bogstaver (bemærk de særlige anførselstegn):

`foo

bar`

JavaScript har længe været meget mere end et værktøj til små hjemmesidetricks – det skaber kraftfulde, højtydende webapplikationer, som på ingen måde er ringere end deres desktop-modstykker. Med det store antal nyttige innovationer og den eksisterende support til ES6 er programmering dobbelt så sjovt.

Hvem har ikke altid ønsket at kontrollere lighed mellem to tal ved hjælp af den nye konstante Number.EPSILON , hvis værdi er forskellen mellem 1 og den næste højere flydende punktværdi ?

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