跳至主要内容

2 篇文件帶有標籤「tag2」

檢視所有標籤

Constant vs Mutation

const 常常會讓 JavaScript 的初學者感到困惑。例如為什麼用 const 初始化的 object 或 array 可以被修改,但是利用 const 初始化的 string 或 number 卻不能被修改呢?這是因為通常我們修改 object 或 array 的動作 (push, splice) 稱為 mutation,並不會修改到物件的記憶體位置,所以與 const 並無關係。而修改 string 或 number 的動作稱為 reassignment,是直接修改物件的記憶體位置,所以就與 const 和 let 有關係了。