ECMAScript
- este un standard care definește funcționalitatea și sintaxa limbajului JS
- specificațiile tehnice ale limbajului
- nu este adresat dezvoltatorilor
- prima versiune - ECMA-262 (1997)
- ECMAScript 5.1 (2011) - îl găsim în majoritatea browserelor
- ECMAScript 2015 (ES6) - îl găsim în unele browsere recente (ex. Chrome, Firefox...)
- ECMAScript 2015+ (ES Next) - îl putem folosi cu un compilator (ex. babeljs)
Datorită faptului că JS este un limbaj interpretat, avem nevoie de un interpretor care să ruleze codul JS. Acest interpretor de obicei este creat de vendorii de browsere, ceea ce-l face să difere de la un browser la altul (găsiți aici câteva exemple). Aceste diferențe pot face viața dezvoltatorilor foarte dificilă, astfel, ECMA International ne vine în ajutor dezvoltând un standard denumit și ECMAScript. În general, mai întâi se țin discuții despre ce ar trebui să includă o nouă versiune al acestui standard, după care se testează de comunitate, și într-un final pe baza concluziilor trase se publică varianta finală. Această variantă vine cu o versiune și cu specificațiile limbajului (găsiți aici ultimile specificații), care mai apoi urmează să fie implementate în browsere și alți interpretori. Totuși, datoria dezvoltatorului este în a-și cunoaște utilizatorii și a fi siguri că dispozitivele utilizatorilor sunt compatibile cu codul scris de acesta.
Istoric, ECMAScript era actualizat la câțiva ani, însă în 2015 a fost luată o decizie prin care ECMAScript va fi actualizat anual. ECMAScript 2015 (ES6) în prezent rulează în majoritatea browserelor actualizate cum și-n interpretoarele externe (ex. nodejs). Important e să verificați dacă un feature este compatibil cu browserele țintă aplicației la care lucrați (lista completă o găsiți aici). Dacă, totuși doriți să folosiți cele mai recente features în prezent, babeljs este instrumentul de care aveți nevoie.
În 2018, ECMA lucrează la ECMAScript 2018 care va fi publicat la vară.