於是在MDN Web Docs找到相關知識,如下:
宣告(Declarations)
JavaScript 有三種宣告方式
var
宣告一個可隨意更改其內容的變數
let
宣告一個可隨意更改其內容的區塊區域變數
const
宣告一個只可讀取的不可變常數
於是繼續在MDN找答案:
Constants (常數) 有點像使用 let 所宣告的變數,具有區塊可視範圍。常數不能重複指定值,也不能重複宣告。
語法
const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]];nameN
常數的名稱,可以是任何合法的identifier。valueN
常數的值,可以是任何合法的 expression,包括 function expression。描述
上述宣告建立一個常數,它的可視範圍可能是全域的,或是在它所宣告的區域區塊中。 和 var 變數不同的是,全域的常數不會變成 window 物件的屬性。常數必須要初始化;也就是說,你必須在宣告常數的同一個敘述式中指定這個常數的值。(這很合理,因為稍後就不能再變更常數的值了)宣告 const 會對於它的值建立一個唯讀的參考。並不是說這個值不可變更,而是這個變數不能再一次指定值。例如,假設常數的內容(值)是個物件,那麼此物件的內容(物件的參數)是 可以更改的。
所有關於 "temporal dead zone" 的狀況,都適用於 let and const 。
在相同的可視範圍內,常數不能和函數,變數具有相同名稱。