ECMAScript 2017
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 2017'deki Yeni Özellikler
Bu bölüm, ECMAScript 2017'deki yeni özellikleri tanıtmaktadır:
- JavaScript Dize dolgusu
- JavaScript Object.entries
- JavaScript Object.values
- JavaScript zaman uyumsuz işlevleri
- JavaScript paylaşılan bellek
JavaScript Dize Dolgusu
ECMAScript 2017, iki String yöntemi ekledi: padStart
ve padEnd
bir dizenin başında ve sonunda dolguyu desteklemek için.
Örnek
let str = "5";
str = str.padStart(4,0);
// result is 0005
Örnek
let str = "5";
str = str.padEnd(4,0);
// result is 5000
Dize Doldurma, Internet Explorer'da desteklenmez.
Firefox ve Safari, JavaScript dize dolgusunu destekleyen ilk tarayıcılardı:
Chrome 57 | Edge 15 | Firefox 48 | Safari 10 | Opera 44 |
Mar 2017 | Apr 2017 | Aug 2016 | Sep 2016 | Mar 2017 |
JavaScript Nesne Girişleri
ECMAScript 2017 Object.entries
, nesnelere yeni bir yöntem ekler.
Object.entries() yöntemi, bir nesnedeki anahtar/değer çiftlerinin bir dizisini döndürür:
Örnek
const person = {
firstName : "John",
lastName : "Doe",
age : 50,
eyeColor : "blue"
};
document.getElementById("demo").innerHTML =
Object.entries(person);
Object.entries(), nesneleri döngülerde kullanmayı kolaylaştırır:
Örnek
const fruits = {Bananas:300, Oranges:200, Apples:500};
let text = "";
for (let [fruit, value] of Object.entries(fruits)) {
text += fruit + ": " + value + "
";
}
Object.entries() ayrıca nesneleri haritalara dönüştürmeyi kolaylaştırır:
Örnek
const fruits = {Bananas:300, Oranges:200, Apples:500};
const myMap = new Map(Object.entries(fruits));
Chrome ve Firefox, aşağıdakileri destekleyen ilk tarayıcılardı
Object.entries
:
Chrome 47 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
Jun 2016 | Aug 2016 | Jun 2016 | Mar 2017 | Oct 2016 |
JavaScript Nesne Değerleri
Object.values
benzerdir Object.entries
, ancak nesne değerlerinin tek boyutlu bir dizisini döndürür:
Örnek
const person = {
firstName : "John",
lastName : "Doe",
age : 50,
eyeColor : "blue"
};
document.getElementById("demo").innerHTML =
Object.values(person);
Firefox ve Chrome, aşağıdakileri destekleyen ilk tarayıcılardı
Object.values
:
Chrome 54 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
Oct 2016 | Aug 2016 | Jun 2016 | Mar 2017 | Oct 2016 |
JavaScript Zaman Uyumsuz İşlevler
Zaman Aşımı Beklemek
async function myDisplay() {
let myPromise = new Promise(function(myResolve, myReject) {
setTimeout(function() { myResolve("I love You !!"); }, 3000);
});
document.getElementById("demo").innerHTML = await myPromise;
}
myDisplay();
Firefox ve Chrome, zaman uyumsuz JavaScript işlevlerini destekleyen ilk tarayıcılardı:
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
Dec 2016 | Apr 2017 | Mar 2017 | Sep 2017 | Dec 2016 |