Rumah >hujung hadapan web >tutorial js >Bagaimanakah Pemalar JavaScript Boleh Diubah Suai Jika Ia Tidak Boleh Berubah?
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.
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.
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.
Begitu juga, anda boleh menambah sifat pada objek malar tanpa mengubah suai rujukan:
const myObject = {}; myObject.foo = 'bar'; console.log(myObject); // Output: {foo: "bar"}
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!