(ES6) ECMAScript vs JavaScript

Primjetio sam da je mlađa(junior) ekipa dosta zbunjena kada ih se postavi u poziciju da objasne razliku između JavaScript-a i ECMAScript-a. Ovo cesto zna biti postavljeno pitanje na razgovoru za posao.

ECMAScript dakle nije programski jezik, nego je samo naziv za set pravila tj. standard za programski jezik zvan JavaScript. To bi značilo da postoje pravila koja propisuju sintaksu i mogućnosti koje može imati programski jezik JavaScript.

ECMAScript pravila se razvijaju i svake godine bivaju poboljšana i proširena.

Zašto je potrebno imati pravila posebno i zašto se ne bi pisao programski jezik direktno kao takav bez standarda?
Potrebno je velikim djelom zato sto se engine za izvršavanje JavaScript koda nalazi u browser-u, a svaki browser ima svoj engine u kojem obrađuje i izvršava napisani kod.

Neki drugi programski jezici kao npr. Python, PHP, C# itd. imaju svoje verzije te developer koji piše u njima uvijek može biti siguran da će sve što je podržano u datoj verziji uvijek biti dostupno i da će se programski kod uspješno biti parsiran. To nije slučaj kod Javascripta jer su browser-i u vrlo često u zaostatku za standardom koji je propisan pravilnikom SCMAScript. Tako da nikada ne možemo pisati zadnju verziju standarda i direktno ju pokrenuti u browser-u jer je velika vjerojatnost da neće biti podržana.
Treba proći neko vrijeme da razvojni programeri browser-a podrže najnovije standarde ECMAScript-a.

Izdvojio bih da je velika promjena tj. nadogradnja nad JavaScriptom došla sa standardom ECMAScript 6 (ES6) 2015. godine, tako da vrlo često uzastupljna i možemo ju vidjeti kao kraticu ES6.

2 Likes