ECMAScript 2017
JavaScript adlandırma anlaşmaları ES1, ES2, ES3, ES5 ve ES6 ile başlamıştır.
Ancak, ECMAScript 2016 ve 2017 ES7 ve ES8 olarak adlandırılmamıştır.
2016 yılından beri, yeni sürümler yıllara göre adlandırılmaktadır (ECMAScript 2016/2017/2018).
ECMAScript 2017'deki yeni özellikler
Bu bölüm, ECMAScript 2017'nin yeni özelliklerini tanıtmaktadır:
- JavaScript dizge doldurma
- JavaScript Object.entries
- JavaScript Object.values
- JavaScript asenkron fonksiyon
- JavaScript paylaşılan bellek
JavaScript dizge doldurma
ECMAScript 2017, iki String yöntemi ekledi:padStart
ve padEnd
dizge başında ve sonunda doldurma desteklemek için.
örnek
let str = "5"; str = str.padStart(4,0); // Sonuç: 0005
örnek
let str = "5"; str = str.padEnd(4,0); // Sonuç: 5000
Internet Explorer dize doldurma desteklememektedir.
Firefox ve Safari ilk destekleyen JavaScript dize doldurma tarayıcılarıdır:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 57 | Edge 15 | Firefox 48 | Safari 10 | Opera 44 |
March 2017 | April 2017 | 2016 Yılı Ağustos | 2016 Yılı Eylül | March 2017 |
JavaScript nesne girişleri ekledi
ECMAScript 2017 nesnelere yeni Object.entries
yöntemi.
Object.entries() yöntemi nesnelerdeki anahtar/değer çiftlerinin dizisini döndürür:
örnek
const person = { firstName : "Bill", lastName : "Gates", age : 50, eyeColor : "mavi" }; 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() 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 ilk destekleyenlerdir Object.entries
tarayıcıları:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 47 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
2016 Yılı Haziran | 2016 Yılı Ağustos | 2016 Yılı Haziran | March 2017 | October 2016 |
JavaScript nesne değerleri
Object.values
benzer Object.entries
ama tek boyutlu bir nesne değeri dizisi döndürür:
örnek
const person = { firstName : "Bill", lastName : "Gates", age : 50, eyeColor : "mavi" }; document.getElementById("demo").innerHTML = Object.values(person);
Firefox ve Chrome ilk destekleyenlerdir Object.values
tarayıcıları:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 54 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
October 2016 | 2016 Yılı Ağustos | 2016 Yılı Haziran | March 2017 | October 2016 |
JavaScript Async Functions
Timeout Waiting
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 and Chrome are the first browsers to support asynchronous JavaScript functions:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
December 2016 | April 2017 | March 2017 | September 2017 | December 2016 |