* 在let和const之間,建議優先使用const,尤其是在全局環境,不應該設置變量,只應設置常量。
* const優于let有幾個原因。一個是const可以提醒閱讀程序的人,這個變量不應該改變;另一個是const比較符合函數式編程思想,運算不改變值,只是新建值,而且這樣也有利于將來的分布式運算;最后一個原因是 JavaScript 編譯器會對const進行優化,所以多使用const,有利于提高程序的運行效率,也就是說let和const的本質區別,其實是編譯器內部的處理不同。
```
// bad
var a = 1, b = 2, c = 3;
// good
const a = 1;
const b = 2;
const c = 3;
// best
const [a, b, c] = [1, 2, 3];
```
* const聲明常量還有兩個好處,一是閱讀代碼的人立刻會意識到不應該修改這個值,二是防止了無意間修改變量值所導致的錯誤。
* 所有的函數都應該設置為常量。
* 長遠來看,JavaScript 可能會有多線程的實現(比如 Intel 公司的 River Trail 那一類的項目),這時let表示的變量,只應出現在單線程運行的代碼中,不能是多線程共享的,這樣有利于保證線程安全。