Welkom JavaScript 2.0

JavaScript domineert het web – en ECMAScript, de kern van de taal, wordt steeds volwassener. De nieuwe specificatie (ES6 of JS2), die naar verwachting halverwege het jaar verschijnt, brengt talrijke innovaties met zich mee die nu al getest kunnen worden. Firefox biedt momenteel de beste ondersteuning , maar polyfills via transpilers zoals Google Traceur zijn ook mogelijk. Hieronder volgt een kort overzicht van de nieuwe functies van ES6.


Het nieuwe trefwoord let doet veel dingen beter dan var : scoping gedraagt ​​zich nu precies hetzelfde als in andere talen (C/C++, Java), en daarom hebben blokken nu ook hun eigen scope. Ook het hijsen, d.w.z. de prioritering van variabele declaraties (geen waardetoekenningen) binnen het betreffende toepassingsgebied, wordt gerepareerd:

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

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

Het aantal andere innovaties is groot: constanten (const), standaardwaarden voor functies (functie pow(a,b=2) { return Math.pow(a,b); }), een nieuwe notatie voor functies (laat pow = (a,b=2) => Math.pow(a,b);), een verscheidenheid aan nieuwe functies (repeat(), contain(), startsWith(), find(), findIndex()), de nieuwe lusconstructie voor ... of.

Ook het vermelden waard zijn de nieuwe datatypen Set, Map, Proxy en Symbol, de mogelijkheid om (delen van andere) JavaScript-bestanden te importeren met import en een nieuwe intuïtieve syntaxis voor klassen en overerving. Maar vaak zijn er ook kleine, maar langverwachte zaken, zoals de mogelijkheid van regeleinden in letterlijke tekenreeksen (let op de speciale aanhalingstekens):

`foo

bar`

JavaScript is allang veel meer dan alleen een hulpmiddel voor kleine websitetrucjes; het wordt gebruikt om krachtige, hoogwaardige webapplicaties te creëren die net zo goed zijn als hun desktoptegenhangers. Met de overvloed aan handige nieuwe functies en de bestaande ondersteuning voor ES6 is programmeren dubbel zo leuk.

Wie heeft niet altijd de gelijkheid van twee getallen willen controleren met behulp van de nieuwe constante Number.EPSILON , waarvan de waarde het verschil tussen 1 en de volgende hogere drijvende- kommawaarde draagt?

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