Javascrip{filter}t turi labai keistą pavadinimų istoriją.
Pirmą kartą jis buvo išleistas 1995 m. kaip Netscape Navigator dalis, kuri suteikė naujajai kalbai pavadinimą Livescrip{filtering}t. Po metų, siekiant pagauti žiniasklaidos ažiotažą apie Java tuo metu, pavadinimas buvo laikinai pakeistas į Javascrip{filtering}t (žinoma, santykis tarp Java ir Javascrip{filtering}t yra toks pat kaip ir Lei Feng ir Lei Feng Tower - tai neturi nieko bendra)
Kreivas riešutų pokštas visai nejuokingas
Vertėjo pastaba: Vikipedijos Javascrip{filter}t įraše ši istorija aprašoma išsamiau
1996 m. Netscape pateikė Javascrip{filtering}t ECMA International (European Computer Manufacturers Association) standartizacijai ir galiausiai užbaigė naują kalbos standartą, kuris buvo ECMAscrip{filtering}t. Nuo to laiko ECMAscrip{filtering}t buvo visų Javascrip{filtering}t diegimų pagrindas, nors dėl istorinių ir rinkos priežasčių (matyt, ECMAscrip{filtering}t nėra patinkantis pavadinimas...... Iš tikrųjų mes naudojame tik ECMAscrip{filter}t standartui iškviesti, o šiai kalbai iškviesti dažniausiai naudojame Javascrip{filter}t.
Terminija:
- Standartinis: taisyklių rinkinys, apibrėžiantis, kuo jis skiriasi nuo kitų dalykų
- Įgyvendinimas: konkretus standarto įgyvendinimas ir (arba) reali praktika
Tačiau Javascrip{filtering}t kūrėjams tai nelabai rūpi, nes ECMAscrip{filtering}t nelabai pasikeitė per 15 metų nuo jo įkūrimo, o daugelis realaus pasaulio diegimų jau labai skiriasi nuo standarto. Tiesą sakant, išleidus pirmąją ECMAscrip{filtering}t versiją, netrukus po to buvo išleistos dar dvi versijos, tačiau nuo 1999 m., kai buvo išleista ECMAscrip{filter}t 3, dešimt metų nebuvo sėkmingai pridėta jokių pakeitimų į oficialią specifikaciją. Vietoj to, naršyklių pardavėjai stengiasi išplėsti savo kalbas, todėl žiniatinklio kūrėjams nelieka kito pasirinkimo, kaip tik eksperimentuoti ir palaikyti šias API. Net ir išleidus ECMAscrip{filter}t 5 2009 m., prireikė kelerių metų, kol šios naujos specifikacijos sulaukė plataus naršyklių palaikymo, tačiau dauguma kūrėjų vis tiek rašė ECMAscrip{filtering}t 3 stiliaus kodą ir nejautė poreikio apie jas mokytis.
Vertėjo pastaba: ECMAscrip{filter}t 4 versijos juodraštis buvo atsisakytas, nes jis buvo pernelyg agresyvus, o Adobe Actionscrip{filtering}t 3.0 yra vienintelis ECMAscrip{filtering}t 4 leidimo įgyvendinimas (Flash beveik suvienijo žiniatinklį)
Iki 2012 m. viskas staiga pradėjo keistis. Senesnėms IE versijoms yra palaikymas ir labiau įmanoma rašyti kodą ECMAscrip{filter}t 5 (ES5) stiliumi. Tuo pačiu metu paleidžiama nauja ECMAscrip{filtering}t specifikacija. Šiuo metu žmonės pradėjo pratinti apibūdinti įvairius Javascrip{filtering}t įgyvendinimus ECMAscrip{filter}t specifikacijos versijų palaikymo požiūriu. Šis naujas standartas iš pradžių vadinosi ES. Harmonija. 2015 m. TC39, komitetas, atsakingas už ECMAscrip{filter}t specifikacijos projekto parengimą, nusprendė pakeisti naujų standartų nustatymo sistemą į kartą per metus, o tai reiškia, kad kiekviena nauja funkcija gali būti pridėta, kai ji yra patvirtinta, o ankstesnė specifikacija baigiama tik po to, kai visas projektas yra baigtas ir visos funkcijos yra tinkamos. Dėl to ECMAscrip{filtering}t 6 versija buvo pervadinta į ECMAscrip{filtering}t 2015 (ES2015) prieš paskelbiant birželį.
Vis dar siūloma daug naujų Javascrip{filter}t funkcijų ar sintaksės, įskaitant dekoratorius, asinchroninį laukimą ir statinių klasių ypatybes. Jie dažnai vadinami ES7, ES2016 arba ES. Kitas, bet iš tikrųjų juos galima vadinti tik pasiūlymais ar galimybėmis, juk ES2016 specifikacija dar nėra baigta, ir gali būti, kad visi jie bus pristatyti arba nė vienas iš jų nebus pristatytas. TC39 suskirsto pasiūlymą į 4 etapus, o Babelio svetainėje galite patikrinti, kuriame etape šiuo metu yra kiekvienas pasiūlymas.
Taigi, kaip mes naudojame šią krūvą terminologijos? Šis sąrašas gali jums padėti:
- ECMAscrip{filter}t: ECMA International standartizuota ir TC39 komiteto prižiūrima kalba. Dažnai naudojamas nurodant patį standartą.
- Javascrip{filtering}t: Dažniausias įvairių ECMAscrip{filtering}t standarto diegimų pavadinimas. Šis terminas neapsiriboja konkrečia ECMAscrip{filtering}t specifikacijos versija ir gali būti naudojamas bet kokiam skirtingam bet kurios ECMAscrip{filtering}t versijos įgyvendinimo laipsniui.
- ECMAscrip{filtering}t 5 (ES5): penktasis ECMAscrip{filtering}t leidimas, standartizuotas 2009 m. Ši specifikacija yra gana visiškai įdiegta visose šiuolaikinėse naršyklėse.
- ECMAscrip{filter}t 6 (ES6) / ECMAscrip{filter}t 2015 (ES2015): šeštasis ECMAscrip{filtering}t leidimas buvo peržiūrėtas ir standartizuotas 2015 m. Šis standartas iš dalies įdiegtas daugumoje šiuolaikinių naršyklių. Galite peržiūrėti šią suderinamumo lentelę, kad sužinotumėte, kaip įdiegtos skirtingos naršyklės ir įrankiai.
- ECMAscrip{filter}t 2016: numatomas septintasis ECMAscrip{filter}t leidimas, kurį planuojama išleisti kitą vasarą. Konkrečios savybės, kurios bus įtrauktos į šią specifikaciją, dar nėra galutinai nustatytos
- ECMAscrip{filter}t pasiūlymai: funkcijų ir sintaksės pasiūlymai, kuriuos svarstoma įtraukti į būsimas ECMAscrip{filter}t standarto versijas, praeis penkis etapus: Strawman, Pasiūlymas, Juodraštis, Kandidatas ir Baigta.
Šiame tinklaraštyje dabartinę ECMAscrip{filtering}t versiją vadinsiu ES6 (nes tai yra tai, prie ko dauguma kūrėjų yra labiausiai įpratę), kitų metų specifikaciją kaip ES2016 (nes, skirtingai nei ES6/ES2015, šis pavadinimas bus naudojamas viso standartizavimo proceso metu) ir būsimas kalbos koncepcijas, kurios dar nėra baigtos rengti ar parengti ECMAscrip{filtering}t pasiūlymų arba Javascrip{filter}t pasiūlymas. Aš padarysiu viską, kad sekčiau šį straipsnį bet kokia proga, kuri gali sukelti painiavą.