JavaScript で const 宣言された配列やオブジェクトは変更できますか?

const の特徴は変更不可能な定数を宣言することであり、宣言と同時に値を初期化する必要があることがわかります。

ただし、const にはオブジェクトのプロパティを変更できる機能もあります。

Array と Object はどちらも参照型です。const を使用して配列とオブジェクトを宣言する場合、const で宣言された定数にはターゲットのポインタのみが格納されます。許可されます。

例えば

const arr = [1,2,3,4,5]
arr[0] = 2			// 合法
arr.push(6)			// 合法
console.log(arr)	//[2,2,3,4,5,6]
arr = [1,2,3]		// 错误

配列インデックス値または配列メソッドによる配列の変更は許可されますが、定数への直接代入は許可されません。

オブジェクトも同じです

const obj = {
    
    name:'frank', age=18}
obj.age = 19 		// 合法
obj.weight = 100	// 合法
console.log(obj)	// {name:'frank',age=19,weight=100}
obj = {
    
    name:'lisa'}	// 错误

オブジェクトのプロパティを変更することは許可されていますが、オブジェクトに値を直接割り当てることは許可されていません

おすすめ

転載: blog.csdn.net/Dax1_/article/details/123230410#comments_28021441