JavaScript dominas la reton - kaj ECMAScript, la kerno de la lingvo, maturiĝas. La nova specifo (ES6 aŭ JS2), atendata meze de la jaro, alportas multajn novigojn, kiujn oni jam povas testi. Firefox nuntempe ofertas la plej bonan subtenon , sed ankaŭ plurplenigoj per transpililoj kiel Google Traceur eblas. Mallonga superrigardo de la novaj funkcioj de ES6 sekvas.
La nova ŝlosilvorto let faras multajn aferojn pli bone ol var : skoping nun kondutas ĝuste kiel en aliaj lingvoj (C/C++, Java), tial se blokoj nun ankaŭ havas sian propran amplekson. Levado, t.e. la prioritatigo de variaj deklaroj (ne valoraj atribuoj) ene de la respektiva amplekso, ankaŭ estos riparita.:
console.log(x); var x = 'foo'; // undefined console.log(y); let y = 'bar'; // not initialized
La nombro de aliaj novigoj estas granda: konstantoj (const), defaŭltaj valoroj por funkcioj (funkcio pow(a,b=2) { return Math.pow(a,b); }), nova skribmaniero por funkcioj (let pow = (a,b=2) => Math.pow(a,b);), diversaj novaj funkcioj (ripeto(), enhavas(), find(), find(i), start(i), find(i)(), find(i), start(i) de.
Menciindas ankaŭ la novaj datumtipoj Aro, Mapo, Prokura kaj Simbolo, la kapablo importi (partojn de aliaj) JavaScript-dosierojn kun importo kaj nova intuicia sintakso por klasoj kaj heredo. Sed ofte estas ankaŭ malgrandaj sed longe atendataj aferoj kiel la ebleco de liniorompoj en kordaj literaloj (notu la specialajn citilojn):
`foo bar`
JavaScript delonge estas multe pli ol nur ilo por malgrandaj retejaj trukoj - ĝi estas uzata por krei potencajn, alt-efikecajn retajn aplikaĵojn, kiuj estas same bonaj kiel iliaj labortablaj ekvivalentoj. Kun la abundo de helpemaj novaj funkcioj kaj la ekzistanta subteno por ES6, programado estas duoble pli plaĉa.
Kiu ne ĉiam volis kontroli la egalecon de du nombroj helpe de la nova konstanto Number.EPSILON , kies valoro havas la diferencon inter 1 kaj la sekva pli alta glitkoma valoro?
let cmp = (a,b) => Math.abs(a-b) < Number.EPSILON;