Halo teman-teman semuanya, setelah sebelumnya kita belajar tentang Spread Operator, sekarang kita lanjut ke fitur yang mirip tanda (...
) tapi punya fungsi berbeda, yaitu Rest Parameter!
Apa Itu Rest Parameter?
Rest Parameter digunakan untuk mengumpulkan sisa argumen ke dalam sebuah array. Tandanya juga menggunakan tiga titik (...
), tetapi dipakai saat mendefinisikan function atau destructuring data.
INGAT
- Spread Operator itu digunakan untuk menyebar.
- Rest Parameter itu digunakan untuk mengumpulkan.
1. Menangkap Banyak Argumen dalam Function
Biasanya function menerima argumen tertentu:
function tambah(a, b) {
return a + b;
}
Tapi bagaimana kalau kita mau menerima banyak argumen? Nah, pakai Rest Parameter:
function jumlahkan(...angka) {
let total = 0;
for (let nilai of angka) {
total += nilai;
}
return total;
}
console.log(jumlahkan(1, 2)); // Output: 3
console.log(jumlahkan(1, 2, 3, 4)); // Output: 10
- Semua argumen yang dikirim akan dikumpulkan menjadi array
angka
.
- Lalu bisa kita olah seperti array biasa.
2. Rest Parameter Harus di Akhir
Kalau kita gabungkan parameter biasa dengan Rest, posisi Rest harus paling akhir:
function cetakData(nama, ...hobi) {
console.log("Nama:", nama);
console.log("Hobi:", hobi);
}
cetakData("Budi", "Mancing", "Ngoding", "Main bola");
Output:
Nama: Budi
Hobi: ["Mancing", "Ngoding", "Main bola"]
3. Rest Parameter pada Destructuring
Rest juga bisa dipakai ketika memecah array atau object:
-
Array Destructuring
const angka = [1, 2, 3, 4, 5];
const [pertama, kedua, ...sisanya] = angka;
console.log(pertama); // 1
console.log(kedua); // 2
console.log(sisanya); // [3, 4, 5]
-
Object Destructuring
const user = {
nama: "Siti",
umur: 20,
kota: "Bandung"
};
const { nama, ...infoLain } = user;
console.log(nama); // Siti
console.log(infoLain); // { umur: 20, kota: 'Bandung' }
4. Perbedaan Spread Operator dan Rest Parameter
Aspek |
Spread Operator |
Rest Parameter |
Digunakan saat |
Menyebar array/object |
Mengumpulkan argumen/data |
Posisi |
Saat menggunakan data |
Saat menerima data |
Kesimpulan
Rest Parameter (...
) berguna untuk menangkap banyak argumen function dalam satu array dan melakukan destructuring array atau object dan mengumpulkan sisanya.
Pada artikel berikutnya, kita semua akan belajar tentang Destructuring & Restructuring di JavaScript.
Terima Kasih