/*ES6 memperkenalkan fungsi baru yang dinamakan arrow function expression
atau lebih dikenal sebagai arrow function. Arrow function mirip seperti
regular function secara perilaku, namun penulisannya jauh berbeda.
Sama seperti namanya, fungsi didefinisikan dengan
menggunakan tanda panah (=>)
dan tentu penulisan fungsi dengan arrow ini akan lebih singkat. */
// contoh penulisan regular fungsi
const upperizedNames = ['Dimas', 'Hifni', 'Rizki']
.map(function(name){
return name.toUpperCase();
});
/*
map() berfungsi utk merubah semua elemen di dalam array menjadi elemen
dgn nilai yang baru, contoh nya disamping kita merubah huruf menjadi
kapital semua
Apa yang dilakukan : Melintasi array dari kiri ke kanan dan memanggil
fungsi callback ke setiap elemen. Setelah semua elemen berhasil dilintasi,
fungsi map() mengembalikan array baru dengan elemen-elemen yang baru.
array.map( function(element, index, array) {
...
}, thisArgument);
Parameter :
1.element (nilai dari elemen)
2.index (index dari tiap lintasan, dari kiri ke kanan ( 0 ke N ) )
3.array (array semula yang memanggil fungsi ini)
4.thisArgument ( Opsional, object yang akan di arahkan sebagai this di dalam fungsi callback )
*/
console.log(...upperizedNames);
// contoh ketika menggunakan arrow function
const upperizedNamesArrow = ['Hifni', 'Hami', 'Amara']
.map(name => name.toUpperCase());
// tanda panah (=>) di letakkan diaantara parameter dan kode fungsinya.
console.log(... upperizedNamesArrow);