Mengenal Syntax ES8
Sudah dua artikel saya menulis mengenai syntax ES, yaitu:
Mengenal Syntax ES6
Mengenal Syntax ES7
Dan kali saya akan berbagi apa saja yang baru di ES8 atau 2017. Sekiranya ada 3 fitur umum baru yang akan saya bahas satu-satu.
Object.values() & Object.entries()
Object.values() adalah suatu fungsi yang digunakan untuk mengembalikan suatu object dalam bentuk array. Mari kita lihat contoh berikut:
const fruits = {
"apple": "🍏",
"mango": "🥭",
"orange": "🍊"
}const values = Object.values(fruits)
//["🍏", "🥭", "🍊"]
Sedangkan untuk Object.entries() adalah mengembalikan suatu object dengan bentuk array di dalam array yang mana key dari object tersebut juga akan dibawa. Mari kita lihat contoh berikut:
const fruits = {
"apple": "🍏",
"mango": "🥭",
"orange": "🍊"
}const entries = Object.entries(fruits)
//[["apple", "🍏"], ["mango", "🥭"], ["orange","🍊"]]
String Padding
String Padding adalah metode untuk memberikan bantalan atau tambahan value di suatu string sesuai dengan panjang string yang ditentukan. Ada dua fungsi String Padding pada ES8. Yaitu:
Get Faridho’s stories in your inbox
Join Medium for free to get updates from this writer.
padStart(). Berarti memberikan bantalan pada awal staring. Contohnya adalah sebagai berikut:
let string = 'abc'
string.padStart(10) // ' abc'
string.padStart(10, 'foo') // 'foofoofabc'
string.padStart(6, '123456') // '123abc'
string.padString(1) // 'abc'Contoh lainnya bisa lihat di sini:
let creditCardNumber = '2034399002125581'
let sliceNumber = creditCardNumber.slice(-4)
let maskedNumber = sliceNumber.padStart(creeditCardNumber.length, '*')
console.log(maskedNumber) // '************5581'padEnd(). Berarti memberikan bantalan pada akhir string. Contohnya adalah sebagai berikut:
let string = 'abc'
string.padEnd(10) // 'abc '
string.padEnd(10, 'foo') // 'abcfoofoof'
string.padEnd(1) // 'abc'Async/Await Function
Async/Await function digunakan untuk menghandle fungsi asyncronus. Sistem akan mengeluarkan hasilnya setelah semua resolve. Untuk itu kita dapat menggunakan keyword await yang fungsinya untuk menunggu apakah hasilnya resolve atau reject dari suatu promise. Mari kita lihat contoh berikut:
function who() {
return new Promise(resolve => {
setTimeout(() => {
resolve('👹');
}, 200);
});
}function what() {
return new Promise (resolve => {
setTimeout(() => {
resolve('is waiting');
}, 300);
});
}function where() {
return new Promise (resolve => {
setTimeout(() => {
resolve('in your home');
}, 500);
});
}async function message() {
const a = await who();
const b = await what();
const c = await where(); console.log(`${a} ${b} ${c}`);
}message() // 👹 is waiting in your home --> after 1000 ms
Berikut penejelasan singkat mengenai syntax ES8. Semoga bermanfaat. Terima kasih.










