ECMAScript 2018
JavaScript adlandırma kuralı ES1, ES2, ES3, ES5 ve ES6 ile başladı.
Ancak ECMAScript 2016 ve 2017, ES7 ve ES8 olarak adlandırılmadı.
2016'dan beri yeni sürümler yıllara göre adlandırılır (ECMAScript 2016 / 2017 / 2018).
ECMAScript 2018'deki Yeni Özellikler
Bu bölüm, ECMAScript 2018'deki yeni özellikleri tanıtmaktadır:
JavaScript Eşzamansız Yineleme
ECMAScript 2018, eşzamansız yineleyiciler ve yinelenebilirler ekledi.
Eşzamansız yinelenebilirlerle, await
anahtar kelimeyi for/of
döngülerde kullanabiliriz.
Örnek
for await () {}
Firefox ve Safari, JavaScript eşzamansız yinelemeyi destekleyen ilk tarayıcılardı:
Chrome 63 | Edge 79 | Firefox 57 | Safari 11 | Opera 50 |
Dec 2017 | Jan 2020 | Nov 2017 | Sep 2017 | Jan 2018 |
JavaScript Sözü. sonunda
ECMAScript 2018, Promise nesnesinin tam uygulamasını şu şekilde tamamlar Promise.finally
:
Örnek
let myPromise = new Promise();
myPromise.then();
myPromise.catch();
myPromise.finally();
Chrome ve Firefox, aşağıdakileri destekleyen ilk tarayıcılardı Promise.finally
:
Chrome 63 | Edge 18 | Firefox 58 | Safari 11.1 | Opera 50 |
Dec 2017 | Nov 2018 | Jan 2018 | Mar 2018 | Jan 2018 |
JavaScript Nesne Dinlenme Özellikleri
ECMAScript 2018, dinlenme özellikleri ekledi.
Bu, bir nesneyi yok etmemize ve artıkları yeni bir nesne üzerinde toplamamıza olanak tanır:
Örnek
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }
Chrome, Firefox ve Opera, nesne dinlenme özelliklerini destekleyen ilk tarayıcılardı:
Chrome 60 | Edge 79 | Firefox 55 | Safari 11.1 | Opera 47 |
Jul 2017 | Jan 2020 | Aug 2017 | Mar 2018 | Aug 2017 |
Yeni JavaScript RegExp Özellikleri
ECMAScript 2018, 4 yeni RegExp özelliği ekledi:
- Unicode Özellik Kaçışları (\p{...})
- Gözden Geçirme İddiaları (?<= ) ve (?<! )
- Adlandırılmış Yakalama Grupları
- s (dotAll) Bayrak
Chrome ve Firefox, tüm yeni RegExp özelliklerini destekleyen ilk tarayıcılardı:
Chrome 64 | Edge 79 | Firefox 78 | Safari 12 | Opera 51 |
Jan 2018 | Jan 2020 | Jun 2020 | Sep 2018 | Feb 2018 |