ECMAScript Nedir?

ECMAScript ES ECMA Standart JavaScript ES6 ES2016 TC39

ECMAScript (kısaltması: ES), ECMA International tarafından yayımlanan şartnamedir. JavaScript dilinin özelliklerini ve standartlarını belirler. ECMAScript standartlarının diğer uygulamaları ise JScript ve ActionScript dilleridir.

ECMA International Nedir?

ECMA International (açılımı: European Computer Manufacturers Association), Avrupa Bilgisayar Üreticileri Birliği adlı kuruluştur. Bilgi ve iletişim teknolojileri standartlarına yönelik çalışmalar yapan Avrupa merkezli bir dernektir.

ECMA International
Resim 1. ECMA International

JavaScript Dilinden Farkı Nedir?

ECMAScript, JavaScript (kısaltması: JS) dilinin standartlarını ve özelliklerini belirlemek için yayımlanan standartlardır. Yani ESMAScript tanımlama, JavaScript tanımın uygulanmasıdır.

Neden İhtiyaç Var?

JavaScript, statik web sayfalarına etkileşim kazandırmak için tarayıcı üzerinde yorumlanarak çalışan bir betik dili olarak Netscape şirketinden Brendan Eich tarafından Aralık 1995 yılında geliştirilmiştir. Kısa süre içinde geliştirildiğinden ve tarayıcı üzerinde çalışıp yorumlandığından dolayı farklı tarayıcılar arasındaki yorum farklılılarının giderilmesi için bir standarda ihtiyaç duyulmuş ve geliştiricileri Netscape tarafından, ECMA International ile ECMAScript standartları geliştirilmeye başlanmış ve Haziran 1997 yılında standartların ilk sürümü yayımlanmıştır.

ECMAScript Sürümleri

ECMA International, Technical Committee 39 (kısaltması: TC39) ekibi, her yeni sürümünde ECMAScript standartlarına yeni özellikler ve işlevsellikler ekler.

SürümTarihİsimDeğişiklikler
1Haziran 1997İlk Sürüm
2Haziran 1998ISO/IEC 16262 standardı ile uyumlu hale getirilmesi
3Aralık 1998Regex, try/catch istisna yakalama, daha iyi string işleme vb. özellikleri eklenmesi
4Haziran 2003Yayım iptal edildi
5Aralık 2009Regex, strict mod, JSON desteği vb. özelliklerin eklenmesi
5.1Haziran 2011ISO/IEC 16262:2011 standardı ile uyumlu hale getirilmesi
6Haziran 2015ECMAScript 2015 ES2015 (ES6) - class, let, const, arrow fonksiyonlar, promise özelliklerinin eklenmesi
7Haziran 2016ECMAScript 2016 ES2016 - ** operatörü ve Array.includes özelliği eklenmesi
8Haziran 2017ECMAScript 2017 ES2017 - async/await özellikleri, Kolay object manipülasyonu fonksiyonları vb. özelliklerinin eklenmesi
9Haziran 2018ECMAScript 2018 ES2018 - ... operatörü özelliklerinin eklenmesi
10Haziran 2019ECMAScript 2019 ES2019 - yeni dizi foksiyonlarının geliştirilmesi ve özelliklerinin düzenlenmesi
11Haziran 2020ECMAScript 2020 ES2020 - BigInt, ?? ve ?. operatörü özelliklerinin eklenmesi
12Haziran 2021ECMAScript 2021 ES2021 - replaceAll, promise.any vb. özelliklerinin eklenmesi
Tablo 1. ECMAScript sürümleri yayım tarihleri

ECMAScript Sürüm Uyumlulukları

2012 yılı itibarı ile tüm modern web tarayıcıları ECMAScript 5.1 sürümünü destekler. Daha eski tarayıcılar ise genellikle ECMAScript 3 sürümüne kadar destek verirler. Yayımlanan yeni ECMAScript standartlarındaki özelliklerin tamamını, web tarayıcı ve JavaScript motorları desteklemez. Web tarayıcıları yayımlanan standartlardaki özellikleri zamanla kendi tarayıcı ve JavaScript motorlarına implemente ederler. Yeni ECMAScript standartları ile gelen özelliklerin tarayıcı uyumlulukları görmek için ECMAScript Uyumluluk Tablosu kullanılabilir.

Eski Tarayıcılar ve Geriye Uyumluluk?

Yayımlanan ECMAScript standartları ile gelen yeni özellikleri, eski tarayıcılar ve eski JavaScript motorları desteklemez. Yani yeni standartlarda yazılan JavaScript kodu eski tarayıcılarda çalışmaz bu nedenle yeni kodların eski JavaScript koduna çevrilmeleri (transpile/transcompile) gerekir. Bu işlem için BabelJS kullanılabilir.

Sonuç

Sonuç olarak ECMAScript, JavaScript gibi bir dil değil, dil özelliklerini tanımlayan standartlardır. ECMAScript yeni sürümlerin teklifleri ve çalışma detayları TC39 ekibi tarafından açık kaynak olarak yayımlanmaktadır.

TC39
Resim 2. TC39

Kaynaklar

  1. ECMAScript , en.wikipedia.org, 06.06.2022 tarihinde alındı.
  2. ECMAScript , tr.wikipedia.org, 06.06.2022 tarihinde alındı.
  3. JavaScript , en.wikipedia.org, 06.06.2022 tarihinde alındı.
  4. TC39 and its contributions to ECMAScript , freecodecamp.org, 06.06.2022 tarihinde alındı.
  5. JavaScript , developer.mozilla.org, 06.06.2022 tarihinde alındı.
  6. ECMAScript® 2023 Language Specification , tc39.es, 06.06.2022 tarihinde alındı.

 


Beğen