Operator spread dalam JavaScript
Di ES6 muncul operator khusus ...,
yang disebut spread.
Ketika operator spread ditempatkan di depan array, ia memisahkan array tersebut menjadi nilai-nilai individual, mengubah array menjadi sekumpulan parameter yang diperlukan untuk memanggil fungsi.
Pasti terdengar membingungkan, jadi mari kita lihat
pada contoh sederhana. Misalkan kita memiliki
fungsi yang menerima 3 parameter
dan mengembalikan jumlahnya:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Misalkan kita juga memiliki array yang terdiri dari tiga elemen:
let arr = [1, 2, 3];
Jelas, kita tidak bisa begitu saja menyampaikan array ini sebagai parameter fungsi, seperti ini:
let arr = [1, 2, 3];
func(arr);
Karena dalam kasus ini, seluruh array akan masuk ke parameter pertama fungsi, padahal parameter ini perlu diisi dengan angka (dan begitu juga dengan parameter yang lainnya).
Tentu saja, kita dapat melakukan hal berikut:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Tapi ada cara yang lebih mudah - menggunakan operator spread:
let arr = [1, 2, 3];
func(...arr);
Keberadaan variabel bukanlah hal yang wajib - spread dapat diterapkan langsung ke array:
func(...[1, 2, 3]);
Diberikan array:
let arr = [1, 2, 3, 4, 5];
Diberikan juga fungsi:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Temukan dengan menggunakan fungsi yang diberikan jumlah elemen array.