Fitur baru pada Javascript (ES8)
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).

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.
