1. 程式人生 > 實用技巧 >js中使用const宣告變數時需要注意

js中使用const宣告變數時需要注意

const實際上保證的,並不是變數的值不得改動,而是變數指向的那個記憶體地址(初始化的內容)不得改動。對於簡單型別的資料(數值、字串、布林值),值就儲存在變數指向的那個記憶體地址,因此等同於常量。

簡單型別的資料(數值、字串、布林值):

const a = 1; //相當於宣告常量(常量一旦宣告就不可以修改)

console.log(a); //1

a=2;//執行時就報錯(對常量變數賦值)

console.log(a); //報錯

但對於複合型別的資料(主要是物件和陣列),變數指向的記憶體地址(初始化的內容),儲存的只是一個指標,const只能保證這個指標是固定的,至於它指向的資料結構是不是可變的,就完全不能控制了。

簡單來說就是不能再將其宣告為其他物件或重新給它賦值,但是可以進行新增修改刪除屬性等

const b = {'name':"lisi"};

console.log(b.name);

新增一個屬性

b.prop = 9;

console.log(b.prop);

delete b.prop

console.log(b.prop);

陣列也是和物件一樣的