Rumah > hujung hadapan web > tutorial js > Bolehkah Anda Mengubah Suai Objek Malar dalam JavaScript?

Bolehkah Anda Mengubah Suai Objek Malar dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-12-02 00:33:10
asal
397 orang telah melayarinya

Can You Modify Constant Objects in JavaScript?

Konst yang Membingungkan: Mengapa Anda Boleh (Semacam) Mengubah Suai Objek Malar dalam JavaScript

Walaupun definisi pemalar yang jelas dalam ECMAScript 6, apabila ia diisytiharkan sebagai nilai tidak berubah yang tidak boleh ditugaskan semula atau diisytiharkan semula, banyak penyemak imbas kini menyokong kata kunci const nampaknya untuk membenarkan pengubahsuaian tertentu pada objek malar.

Percanggahan yang dirasakan ini timbul daripada teknikal kelakuan berterusan dalam JavaScript. Walaupun anda tidak boleh menetapkan semula atau mengisytiharkan semula pemalar secara langsung, anda boleh membuat perubahan pada sifat objek pemalar.

Sebabnya ialah apabila anda menambah atau mengalih keluar elemen daripada tatasusunan, atau menambah atau menukar sifat dalam objek, anda sebenarnya tidak mengubah pemalar itu sendiri. Sebaliknya, anda mengubah suai keadaan dalaman objek yang ditunjukkan oleh pemalar.

Sebagai contoh, dalam kod berikut:

const yyy = [];
yyy.push(6);
yyy.push(1);
Salin selepas log masuk

yyy kekal sebagai rujukan kepada tatasusunan yang sama, tetapi kandungan tatasusunan itu berubah. Begitu juga, dalam kod berikut:

const x = {};
x.foo = 'bar';
Salin selepas log masuk

x terus merujuk kepada objek yang sama, tetapi sifat baharu, foo, ditambahkan pada objek itu.

Oleh itu, adalah mungkin untuk ubah suai keadaan objek tetap, tetapi anda tidak boleh menetapkan semula atau mengisytiharkan semula pemalar itu sendiri.

Atas ialah kandungan terperinci Bolehkah Anda Mengubah Suai Objek Malar dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan