Rumah >hujung hadapan web >tutorial js >Bagaimanakah Pemalar JavaScript Boleh Diubah Suai Jika Ia Tidak Boleh Berubah?

Bagaimanakah Pemalar JavaScript Boleh Diubah Suai Jika Ia Tidak Boleh Berubah?

Susan Sarandon
Susan Sarandonasal
2024-11-30 01:04:12437semak imbas

How Can JavaScript Constants Be Modified If They're Immutable?

Salah Tanggapan Objek Malar dalam JavaScript

Walaupun merujuk kepada spesifikasi ES6 yang menekankan ketakbolehubah pemalar, JavaScript membenarkan tindakan yang kelihatan bercanggah pada objek malar. Apabila memberikan nilai yang berbeza kepada objek malar, ia kekal tidak berubah, namun menambah atau mengalih keluar elemen dalam objek nampaknya mungkin.

Memahami Semantik Malar

Menurut dokumentasi MDN, "constant cannot tukar melalui penugasan semula" dan "malar tidak boleh diisytiharkan semula." Yang penting, ini membayangkan bahawa rujukan kepada objek adalah tetap, bukan objek itu sendiri. Anda tidak boleh menetapkan objek baharu kepada pembolehubah malar, tetapi anda boleh mengubah suai kandungan objek.

Contoh: Mengubah Suai Tatasusunan

Pertimbangkan coretan kod berikut:

const myArray = [];
myArray.push(1);
console.log(myArray); // Output: [1]

Dalam kes ini, rujukan kepada tatasusunan myArray kekal tidak berubah kerana ia masih menunjuk kepada objek tatasusunan yang sama. Walau bagaimanapun, operasi push() menambah elemen pada tatasusunan, mengubah kandungannya tetapi tidak melanggar semantik malar.

Contoh: Menambah Sifat pada Objek

Begitu juga, anda boleh menambah sifat pada objek malar tanpa mengubah suai rujukan:

const myObject = {};
myObject.foo = 'bar';
console.log(myObject); // Output: {foo: "bar"}

Jangkaan vs Realiti

Adalah penting untuk membezakan antara penugasan semula dan pengubahsuaian. Walaupun penugasan semula mencipta rujukan baharu, pengubahsuaian beroperasi pada rujukan objek yang sama. Dalam kes objek malar, penugasan semula adalah dilarang untuk memastikan kebolehubahan, manakala pengubahsuaian kandungan objek masih dibenarkan.

Atas ialah kandungan terperinci Bagaimanakah Pemalar JavaScript Boleh Diubah Suai Jika Ia Tidak Boleh Berubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn