Spread: menyalin tanpa merusak

Ini bab paling penting dalam modul ini. const b = a bukan menyalin object — keduanya menunjuk ke data yang sama, jadi mengubah b juga mengubah a. Inilah 'kenapa object saya berubah sendiri'. Spread (...) membuat salinan baru: const b = { ...a }. React sangat bergantung pada ini karena ia mendeteksi perubahan dari identitas object, bukan isinya.

👀 Contoh dulu

const asli = { nama: 'Kopi', stok: 5 };

// ❌ BUKAN salinan — dua nama untuk data yang SAMA
const salah = asli;
salah.stok = 99;
console.log(asli.stok);      // ikut berubah!

// ✅ salinan sungguhan
const benar = { ...asli, stok: 1 };
console.log(asli.stok, benar.stok);

Hasilnya: 99 99 1

💡 Spread menyalin isi ke object BARU. Properti yang ditulis SETELAH ...asli akan menimpa nilai aslinya.

📝 Sekarang giliranmu

Buat const userBaru yang merupakan salinan user dengan umur diubah menjadi 21, memakai spread. Tampilkan user dan userBaru untuk membuktikan aslinya tidak berubah.

Preview