ECMAScript 2017
Konvensi penamaan JavaScript dimulai dengan ES1, ES2, ES3, ES5 dan ES6.
Tapi, ECMAScript 2016 dan 2017 tidak disebut ES7 dan ES8.
Sejak 2016 versi baru diberi nama berdasarkan tahun (ECMAScript 2016/2017/2018).
Fitur Baru di ECMAScript 2017
Bab ini memperkenalkan fitur-fitur baru di ECMAScript 2017:
- Pengisi String JavaScript
- Objek JavaScript. entri
- JavaScript Object.values
- Fungsi asinkron JavaScript
- Memori bersama JavaScript
Padding String JavaScript
ECMAScript 2017 menambahkan dua metode String: padStart
dan padEnd
untuk mendukung padding di awal dan di akhir string.
Contoh
let str = "5";
str = str.padStart(4,0);
// result is 0005
Contoh
let str = "5";
str = str.padEnd(4,0);
// result is 5000
String Padding tidak didukung di Internet Explorer.
Firefox dan Safari adalah browser pertama yang mendukung padding string JavaScript:
Chrome 57 | Edge 15 | Firefox 48 | Safari 10 | Opera 44 |
Mar 2017 | Apr 2017 | Aug 2016 | Sep 2016 | Mar 2017 |
Entri Objek JavaScript
ECMAScript 2017 menambahkan Object.entries
metode baru ke objek.
Metode Object.entries() mengembalikan larik pasangan kunci/nilai dalam sebuah objek:
Contoh
const person = {
firstName : "John",
lastName : "Doe",
age : 50,
eyeColor : "blue"
};
document.getElementById("demo").innerHTML =
Object.entries(person);
Object.entries() membuatnya mudah untuk menggunakan objek dalam loop:
Contoh
const fruits = {Bananas:300, Oranges:200, Apples:500};
let text = "";
for (let [fruit, value] of Object.entries(fruits)) {
text += fruit + ": " + value + "
";
}
Object.entries() juga memudahkan untuk mengonversi objek menjadi peta:
Contoh
const fruits = {Bananas:300, Oranges:200, Apples:500};
const myMap = new Map(Object.entries(fruits));
Chrome dan Firefox adalah browser pertama yang mendukung
Object.entries
:
Chrome 47 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
Jun 2016 | Aug 2016 | Jun 2016 | Mar 2017 | Oct 2016 |
Nilai Objek JavaScript
Object.values
mirip dengan Object.entries
, tetapi mengembalikan array dimensi tunggal dari nilai objek:
Contoh
const person = {
firstName : "John",
lastName : "Doe",
age : 50,
eyeColor : "blue"
};
document.getElementById("demo").innerHTML =
Object.values(person);
Firefox dan Chrome adalah browser pertama yang mendukung
Object.values
:
Chrome 54 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
Oct 2016 | Aug 2016 | Jun 2016 | Mar 2017 | Oct 2016 |
Fungsi Asinkron JavaScript
Menunggu Waktu Habis
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 dan Chrome adalah browser pertama yang mendukung fungsi JavaScript asinkron:
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
Dec 2016 | Apr 2017 | Mar 2017 | Sep 2017 | Dec 2016 |