JavaScript Modern: Destructuring, Spread, dan Rest Parameter dalam Modul

By | 19 October 2025

Dalam era pengembangan web yang serba cepat, kemampuan untuk menulis kode yang efisien dan mudah dibaca menjadi sangat penting. Salah satu kunci untuk mencapai hal itu adalah dengan memahami fitur-fitur JavaScript Modern: Destructuring, Spread, dan Rest Parameter dalam Modul. Ketiga konsep ini memungkinkan kita menulis kode yang lebih ringkas, modular, dan mudah dipelihara, terutama dalam proyek besar berbasis modul ES6.

JavaScript Modern: Destructuring, Spread, dan Rest Parameter dalam Modul tidak hanya memudahkan developer memanipulasi data, tetapi juga mempercepat proses debugging dan pengelolaan kode. Dengan mengombinasikan konsep ini bersama sistem modul import dan export, kita bisa membangun struktur aplikasi yang kuat, rapi, dan efisien di sisi frontend maupun backend.

Destructuring: Membongkar Nilai dengan Mudah

Destructuring adalah fitur yang memungkinkan kita mengekstrak nilai dari array atau objek dan menyimpannya ke dalam variabel dengan cara yang ringkas. Daripada menulis kode panjang untuk mengakses nilai satu per satu, kita bisa menggunakan destructuring untuk mengambil data dengan cepat.

Contoh Destructuring Array:

const warna = ["merah", "hijau", "biru"];
const [utama, sekunder, netral] = warna;

console.log(utama);     // merah
console.log(sekunder);  // hijau
console.log(netral);    // biru

Contoh Destructuring Objek:

const user = {
  nama: "Arvian",
  umur: 25,
  kota: "Bandung"
};

const { nama, umur } = user;
console.log(`${nama} berusia ${umur} tahun.`);

Dengan destructuring, kode menjadi lebih singkat dan mudah dibaca, terutama ketika menangani data yang kompleks seperti response dari API.

Spread Operator: Menyebarkan Nilai dengan Mudah

Spread operator (...) digunakan untuk menyalin, menggabungkan, atau menyebarkan elemen dari array maupun objek.
Operator ini sangat berguna dalam manipulasi data tanpa mengubah data aslinya (immutable).

Contoh Spread pada Array:

const buah1 = ["apel", "pisang"];
const buah2 = ["mangga", "jeruk"];
const semuaBuah = [...buah1, ...buah2];

console.log(semuaBuah); // ["apel", "pisang", "mangga", "jeruk"]

Contoh Spread pada Objek:

const produk = { nama: "Laptop", harga: 8000000 };
const detail = { berat: "2kg", garansi: "1 tahun" };

const produkLengkap = { ...produk, ...detail };
console.log(produkLengkap);

Dengan Spread Operator, kita dapat membuat salinan data atau menggabungkan struktur tanpa merusak referensi asli. Ini sangat penting untuk pengelolaan state dalam aplikasi modern seperti React atau Vue.

Rest Parameter: Mengumpulkan Nilai yang Beragam

Jika Spread Operator digunakan untuk menyebarkan, maka Rest Parameter digunakan untuk mengumpulkan banyak nilai ke dalam satu variabel.

Contoh Rest Parameter:

function total(...angka) {
  return angka.reduce((a, b) => a + b);
}

console.log(total(10, 20, 30)); // 60

Rest Parameter sangat bermanfaat ketika kita tidak tahu berapa banyak argumen yang akan diterima oleh fungsi.

Menggunakan Destructuring, Spread, dan Rest dalam Modul JavaScript

Agar kode tetap terorganisir dengan baik, ketiga fitur di atas sering digunakan dalam modul JavaScript. Dengan import dan export, kita bisa memisahkan fungsi ke file berbeda dan menggunakannya kembali kapan saja.

File mathUtil.js

export function hitungTotal(...angka) {
  return angka.reduce((a, b) => a + b, 0);
}

export function kalikan({ a, b }) {
  return a * b;
}

File app.js

import { hitungTotal, kalikan } from './mathUtil.js';

const hasil = hitungTotal(5, 10, 15);
console.log(`Total: ${hasil}`);

const data = { a: 4, b: 6 };
console.log(`Hasil kali: ${kalikan(data)}`);

Dalam contoh ini:

  • Rest Parameter digunakan untuk menghitung total angka.

  • Destructuring digunakan pada parameter objek.

  • Kedua fungsi diorganisir dalam modul JavaScript agar lebih mudah digunakan ulang.

Studi Kasus Mini: Modul Data Produk

File produk.js

export const produk = [
  { nama: "Kopi", harga: 15000 },
  { nama: "Teh", harga: 10000 },
  { nama: "Susu", harga: 20000 }
];

File util.js

export function tampilkanProduk(...daftarProduk) {
  daftarProduk.forEach(({ nama, harga }) => {
    console.log(`Produk: ${nama} - Harga: Rp${harga}`);
  });
}

File main.js

import { produk } from './produk.js';
import { tampilkanProduk } from './util.js';

tampilkanProduk(...produk);

Output:

Produk: Kopi - Harga: Rp15000
Produk: Teh - Harga: Rp10000
Produk: Susu - Harga: Rp20000

Kombinasi Destructuring, Spread, dan Rest Parameter dalam Modul JavaScript membuat kode lebih fleksibel, modular, dan mudah diperluas di masa depan.

Kesimpulan

Fitur Fungsi Kelebihan
Destructuring Mengambil nilai dari array/objek Kode lebih singkat
Spread Menyebarkan nilai dari array/objek Tidak merusak data asli
Rest Parameter Mengumpulkan banyak nilai Fungsi lebih fleksibel
Modul Memisahkan logika program Kode lebih terstruktur

Dengan memahami JavaScript Modern: Destructuring, Spread, dan Rest Parameter dalam Modul, kamu dapat menulis kode yang lebih profesional, efisien, dan mudah dipelihara — kemampuan penting bagi setiap developer JavaScript masa kini.