Sitemap
JavaScript & TypeScript Upgrade

Upgrade Your .js & .ts Skills

Mengenal Syntax ES8

2 min readFeb 29, 2020

--

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.

--

--