Fitur baru pada Javascript (ES8)

Rully Ramanda
Jul 22, 2017 · 2 min read

Yup, ES8 atau disebut juga ES2017 sudah bisa digunakan fitur-fitur nya. Jika teman-teman menggunakan browser Chrome terbaru (cek disini) maka setidaknya sudah bisa mencoba beberapa fitur dari ES8. So, apa saja fitur-fitur terbaru yang ada di ES8? Mari kita ulas bersama-sama (Ada baiknya sambil dicoba langsung di console).

What’s new?

Object.values

Memungkinkan kita mengakses values dari sebuah object.

const heroes = {
CA: 'Captain America',
IM: 'Iron Man',
BP: 'Black Panther',
SM: 'Spider Man',
};
Object.values(heroes);
// ['Captain America', 'Iron Man', 'Black Panther', 'Spider Man']

Object.entries

Menghasilkan pasangan key => value dalam bentuk array

const heroes = {
CA: 'Captain America',
IM: 'Iron Man',
BP: 'Black Panther',
SM: 'Spider Man',
};
Object.entries(heroes);
// [['CA', 'Captain America'], ['IM', 'Iron Man'], ['BP', 'Black Panther'], ['SM', 'Spider Man']]

String padding (padStart & padEnd)

Memberikan padding pada awal atau akhir sebuah string menggunakan spasi (default) atau string yang kita spesifikasikan. Signature dari fungsi nya sebagai berikut:

'string'.padStart(targetLength, padString)'string'.padEnd(targetLength, padString)

Contoh:

'halo'.padStart(1);          // "halo"
'halo'.padStart(10); // " halo"
'halo'.padStart(7, 'abcd'); // "abchalo"
'halo'.padStart(10, 'abcd'); // "abcdabhalo"
'loading'.padEnd(10, '.'); // "loading..."'0.10'.padStart(12); // " 0.10"
'23.10'.padStart(12); // " 23.10"
'12,330.10'.padStart(12); // " 12,330.10"

Object.getOwnPropertyDescriptors

Mengembalikan semua property descriptor dari sebuah object. Atribut yang terdapat pada object yang dikembalikan diantaranya: value, writable, get, set, configurable dan enumerable.

const obj = {
name: 'Rully',
get foo() { return 42; }
};
Object.getOwnPropertyDescriptors(obj);// {
// "name": {
// "configurable": true,
// "enumerable": true,
// "value": "Rully",
// "writable": true
// },
// "foo": {
// "configurable": true,
// "enumerable": true,
// "get": function foo(),
// "set": undefined
// }
// }

Trailing comma pada parameter fungsi

Ini merupakan penambahan baru pada syntax, memungkinkan kita menambah karakter koma pada akhir parameter sebuah definisi fungsi.

function foo(name, age, address,) { ... }

Berlaku juga untuk pemanggilan fungsi nya.

foo('Rully', '27', 'Pekanbaru',);

Async Await

Bekerja dengan fungsi yang asynchronous jadi lebih mudah dengan async-await (dimana sebelumnya kita bisa memanfaatkan generator)

// simulasi saja
function loadData() {
return new Promise(resolve => setTimeout(() => resolve('2'), 4000));
}
async function getData() {
const msg = await loadData();
console.log(msg);
}
console.log(1);
getData();
console.log(3);
// output:// 1 synchronous
// 3 synchronous
// 2 asynchronous (setelah 4 detik)

Ok teman-teman itulah dia beberapa fitur baru yang ada pada ES8, sangat menarik bukan? Jika kalian rasa artikel ini bermanfaat jangan lupa klik ❤️ disamping ya!

Rully Ramanda adalah seorang Fullstack Engineer, Tech Lover dan juga seorang Introvert sejati. Sekarang bekerja di sebuah startup di Pekanbaru bernama Medicaboo.

Rully Ramanda

Written by

Software Engineer, Tech lover, Gamer, Musician

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade