Hukum Dasar (The Core Rule)
Primitive (String, Number, Boolean): Disalin nilainya (Value).
Object (Object, Array, Function): Disalin alamat memorinya (Reference).
Akibatnya: Jika A = B, maka mengubah isi B akan merusak isi A.
Perbandingan (Equality Check)
Jangan tertipu oleh isi yang sama.
{} === {} adalah FALSE.
JavaScript membandingkan lokasi memori, bukan bentuk objeknya.
Dua objek hanya sama (===) jika mereka merujuk ke "rumah" yang sama di memori.
Jebakan "Const" & Fungsi
Mutable Const: const tidak membuat objek menjadi read-only. Kita tetap bisa mengubah isi propertinya, hanya tidak bisa mengganti variabelnya dengan objek baru.
Side Effects: Saat mengirim objek ke fungsi:
function mutate(data) {
data.id = 99; // BAHAYA: Mengubah objek asli di luar fungsi.
}
Top comments (0)