在初學JS的過程中,最開始我只知道定義變量的關鍵字只有var,后來在《學習Javascript數據結構與算法》一書中,還發現了還有const、let可以用來聲明變量。后來又查了相關資料,便整理出了我的第一篇有關JS的文章。
1.var
在ES5之前,我們可以在代碼中任意位置聲明變量,甚至重寫已經聲明的變量,比如:
這是我在vscode編輯器上寫的三行代碼,上面代碼在控制台上的輸出是Alice,該值被賦給最后聲明的name變量。因此可以說明var定義的變量可以修改。但是,如果只用var聲明而不賦值的話,將會輸出undefined,但不會報錯。如:
最后輸出:
2.const
ES6引入了const關鍵字,用const聲明的變量是只讀的,而且必須初始化。不可以修改,也就是常量。
3.let
let跟const一樣,同一個變量不可以重新聲明,但是可以不用初始化(只用let聲明但不賦值)。
且let是塊級作用域,在函數內部聲明的變量只在代碼塊內有效。
拋出錯誤:
因本人為初學者,可能一些地方不完善或有錯誤,歡迎指出!