JavaScript: Pass by Reference vs. Pass by Value Demystified
Dalam JavaScript, topik pass by reference versus pass by value sering dibangkitkan soalan. Memahami konsep ini adalah penting untuk pengaturcaraan yang berkesan.
Pass by Value vs. Pass by Rujukan
Bertentangan dengan kepercayaan popular, JavaScript sentiasa menghantar argumen kepada fungsi mengikut nilai. Walau bagaimanapun, nilai yang diluluskan boleh menjadi jenis data primitif (nombor, rentetan, boolean, null, undefined) atau rujukan kepada objek (Array, Object).
Primitive vs. Objects
Contoh:
Pertimbangkan coretan kod:
function f(a, b) { a = 3; b[0] = "foo"; } var x = 4; var y = ["eeny", "miny", "mo"]; f(x, y);
Pengklonan Objek Bebas
Untuk mencipta salinan bebas sepenuhnya objek tanpa sebarang rujukan, amalan terbaik adalah menggunakan kaedah Object.assign() atau pengendali penyebaran (...).
Contoh:
const original = { foo: "bar" }; const clone = { ...original };
Dalam contoh ini, klon ialah salinan bebas daripada asal. Sebarang pengubahsuaian untuk mengklon tidak akan menjejaskan asal.
Atas ialah kandungan terperinci Lulus JavaScript mengikut Nilai atau Rujukan: Apakah Kisah Sebenar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!