Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

JavaScript Lanjutan

Pelajaran 5 dari 22

Objek, Map, dan Set

Spread dan destrukturisasi

Setelah pelajaran ini kamu bisa menyalin dan menggabungkan array atau objek dengan spread, serta membongkar isinya dengan destrukturisasi.

±13 menitDiperiksa 28 Sep 2026

Materi

Sintaks spread, tiga titik di depan sebuah array atau objek, menuangkan isinya ke tempat lain. [...a, ...b] membuat array baru dari dua array, dan { ...lama, harga: 9000 } membuat objek baru yang menyalin semua property lama lalu menimpa harga. Bila dua objek punya property bernama sama, yang ditulis belakangan yang menang. Dengan pola ini, data asli tidak ikut berubah, dan itu penting ketika objek yang sama dipakai di beberapa tempat.

Destrukturisasi melakukan kebalikannya: mengambil isi ke variabel terpisah. const { nama, kota } = pelanggan membuat dua variabel dari dua property. Nilai bawaan ditulis dengan tanda sama dengan dan dipakai bila property-nya undefined, nama bisa diganti dengan titik dua, dan ...sisa mengumpulkan property yang tidak disebut. Bentuk yang sama dipakai di parameter fungsi, sehingga fungsi bisa menerima satu objek pengaturan dan langsung membongkarnya.

const pengiriman = { resi: "JN-771", kurir: "Pos", berat: 2 };
const salinan = { ...pengiriman, berat: 3 };   // pengiriman.berat tetap 2
const { resi, kurir: jasa, asuransi = false, ...lain } = salinan;
// resi "JN-771", jasa "Pos", asuransi false, lain { berat: 3 }
const [pertama, ...berikutnya] = [5, 8, 13]; // 5 dan [8, 13]

function label({ resi, kurir = "Belum dipilih" }) {
  return `${resi} (${kurir})`;
}

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

const a = { nama: "Toko", alamat: { kota: "Medan" } }; const b = { ...a }; b.alamat.kota = "Palu"; Apa nilai a.alamat.kota sekarang?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke