【導讀】ES6新增了let命令,用來聲明變量。它的用法類似于var,但是所聲明的變量,只在let命令所在的代碼塊。只要塊級作用域內(nèi)存在let命令,它所聲明的變量就“綁定”這個區(qū)域,不再受外部的影響。let不允許在相同作用域內(nèi),重復聲明同一個變量。ES5只有全局作用域和函數(shù)作用域,沒有塊級作用域,這帶來很多不合理的場景。第一種場景,內(nèi)層變量可能會覆蓋外層變量。第二種場景,用來計數(shù)的循環(huán)變量泄露為全局變量。let實際上為JavaScript新增了塊級作用域。一旦聲明,常量的值就不能改變。const聲明的常量只在當前代碼塊有效。如果想設置跨模塊的常量,應該怎么辦呢?(Node的情況比較特殊,這一條只對REPL環(huán)境適用,模塊環(huán)境必。須顯式聲明成global的屬性。