DEV Community

Cover image for JS Object: Reference vs Copying
Muhammad iqbal
Muhammad iqbal

Posted on

JS Object: Reference vs Copying

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.
} 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)