當前位置:首頁 > 科技 > 正文

關鍵字“ const”不會使值不變 這是什麼意思?

很好地總結了一下:

const聲明創建對值的隻讀引用。這并不意味着它擁有的值是不可變的,隻是不能重新分配變量标識符。例如,如果内容是對象,則意味着對象本身仍可以更改。

更簡潔地說:const創建一個不可變的綁定。

換句話說:const與var一樣,為您提供了可變的内存塊,您可以在其中存儲某些内容。但是,const指示您必須繼續引用相同的内存塊–您不能将變量重新分配給不同的内存塊,因為變量引用是恒定的。

要真正使某些内容在聲明後保持不變且不變,您需要使用Object.freeze()。但是,這很淺,僅适用于鍵/值對。凍結整個對象需要花費更多的精力。以高效的方式重複執行此操作更具挑戰性。

解決方法

Axel Rauschmayer博士在 _探索ES6中_有const定義:

const就像let一樣工作,但是您聲明的變量必須立即初始化, 并且其值以後不能更改 。[…]

 const bar = 123;
 bar = 456;  // TypeError: `bar` is read-only

然後他寫道

陷阱:const不會使值不變

const 僅表示變量始終具有相同的值,但并不表示該值本身是不變的。

我對此陷阱感到困惑。有人可以const用這個陷阱清楚地定義嗎?

總結

以上是真正的電腦專家為你收集整理的關鍵字“ const”不會使值不變。這是什麼意思?的全部内容,希望文章能夠幫你解決所遇到的問題。

如果覺得真正的電腦專家網站内容還不錯,歡迎将真正的電腦專家推薦給好友。

你可能想看:

有話要說...

取消
掃碼支持 支付碼