Pengendali spread dalam JavaScript
Dalam ES6, muncul pengendali khas ...,
yang dipanggil spread.
Apabila pengendali spread diletakkan sebelum array, ia membahagikan array tersebut kepada nilai-nilai individu, menukarkan array menjadi satu set parameter yang diperlukan untuk memanggil fungsi.
Pasti kedengaran tidak jelas, jadi mari kita lihat
contoh mudah. Katakan kita mempunyai
fungsi yang menerima 3 parameter
dan mengembalikan jumlahnya:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Katakan kita juga mempunyai array terdiri daripada tiga elemen:
let arr = [1, 2, 3];
Jelas sekali, kita tidak boleh hanya mengambil dan menghantar array ini sebagai parameter fungsi, seperti ini:
let arr = [1, 2, 3];
func(arr);
Ini kerana dalam kes ini, keseluruhan array akan masuk ke dalam parameter pertama fungsi, sedangkan parameter ini perlu diisi dengan nombor (dan parameter-parameter lain juga perlu diisi dengan nombor).
Sudah tentu, kita boleh lakukan dengan cara berikut:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Tapi ada cara yang lebih mudah - gunakan pengendali spread:
let arr = [1, 2, 3];
func(...arr);
Kehadiran pembolehubah bukanlah suatu kemestian - spread boleh digunakan terus pada array:
func(...[1, 2, 3]);
Diberi array:
let arr = [1, 2, 3, 4, 5];
Juga diberikan fungsi:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Cari jumlah elemen array dengan menggunakan fungsi yang diberikan.