1. 程式人生 > >js中let與var,以及const的區別

js中let與var,以及const的區別

**!**let /var定義變數
1,let 不具有變數提升,具有塊級作用域,不允許重複定義
let定義的變數是塊級的變數。使用 let 宣告的變數,在宣告前無法使用,否則將會導致錯誤;如果未在 let 語句中初始化您的變數,則將自動為其分配 JavaScript 值 undefined。

2,var 具有變數提升,可以重複定義
var定義的變數是全域性變數或者函式變數。函式中使用var關鍵字進行顯式申明的變數是做為區域性變數,而沒有用var關鍵字,使用直接賦值方式宣告的是全域性變數。

**!**const定義常量(一旦賦值不可更改)
const也用來宣告變數,但是宣告的是常量。一旦宣告,常量的值就不能改變,同時它與let相同也不能在相同塊級作用域內重複宣告同一個變數。
注意:const的作用域與let命令相同:只在宣告所在的塊級作用域內有效。