let 和 const 關鍵字

2022-06-14 22:12:07 字數 738 閱讀 6620

看了阮老師的es6入門再加上自己的一些理解整理出的學習筆記

let關鍵字

const關鍵字

引用阮老師寫在《ecmascript 6 入門》中的一段話:

const實際上保證的,並不是變數的值不得改動,而是變數指向的那個記憶體位址不得改動。對於簡單型別的資料(數值、字串、布林值),值就儲存在變數指向的那個記憶體位址,因此等同於常量。但對於復合型別的資料(主要是物件和陣列),變數指向的記憶體位址,儲存的只是乙個指標,const只能保證這個指標是固定的,至於它指向的資料結構是不是可變的,就完全不能控制了。因此,將乙個物件宣告為常量必須非常小心。

const foo = {};

// 為 foo 新增乙個屬性,可以成功

foo.prop = 123;

foo.prop // 123

// 將 foo 指向另乙個物件,就會報錯

foo = {}; // typeerror: "foo" is read-only

上面**中,常量foo儲存的是乙個位址,這個位址指向乙個物件。不可變的只是這個位址,即不能把foo指向另乙個位址,但物件本身是可變的,所以依然可以為其新增新屬性。

小總結:感謝**!

原文:

let 和 const 關鍵字

看了阮老師的es6入門再加上自己的一些理解整理出的學習筆記 let關鍵字 const關鍵字 引用阮老師寫在 ecmascript 6 入門 中的一段話 const實際上保證的,並不是變數的值不得改動,而是變數指向的那個記憶體位址不得改動。對於簡單型別的資料 數值 字串 布林值 值就儲存在變數指向的那...

ES6語法 let 和 const 關鍵字

我們以前都是使用 var 關鍵字來宣告變數的。在 es6 的時候,多了兩個關鍵字 let 和 const 也是用來宣告變數的只不過和 var 有一些區別。使用 var 的時候重複宣告變數是沒問題的,只不過就是後的會把前面覆蓋掉 var num 100 var num 200通過let宣告變數,之前的...

關鍵字static和const

static在c語言中的作用 static修飾區域性變數,改變區域性變數的生命週期,但是不改變其作用域,生命週期直到檔案銷毀。static修飾全域性變數,改變全域性變數的連線屬性,只能在本檔案中被使用,使用extern外部宣告也不行。static在c 的作用 宣告為static的類成員,成為類的靜態...