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:

javascriptfunction func(num1, num2, num3) {
  return num1 + num2 + num3;
}

Misalkan kita juga memiliki array yang terdiri dari tiga elemen:

javascriptlet arr = [1, 2, 3];

Jelas, kita tidak bisa begitu saja menyampaikan array ini sebagai parameter fungsi, seperti ini:

javascriptlet 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:

javascriptlet arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);

Tapi ada cara yang lebih mudah - menggunakan operator spread:

javascriptlet arr = [1, 2, 3];
func(...arr);

Keberadaan variabel bukanlah hal yang wajib - spread dapat diterapkan langsung ke array:

javascriptfunc(...[1, 2, 3]);
Задание 1

Diberikan array:

javascriptlet arr = [1, 2, 3, 4, 5];

Diberikan juga fungsi:

javascriptfunction func(num1, num2, num3, num4, num5) {
  return num1 + num2 + num3 + num4 + num5;
}

Temukan dengan menggunakan fungsi yang diberikan jumlah elemen array.