1、const聲明一個只讀的常量。一旦聲明,常量的值就不能改變。
2、const聲明的變量不得改變值,這意味着,const一旦聲明變量,就必須立即初始化,不能留到以后賦值。
3、const的作用域與let命令相同:只在聲明所在的塊級作用域內有效。
4、const命令聲明的常量也是不提升,同樣存在暫時性死區,只能在聲明的位置后面使用。
5、const聲明的常量,也與let一樣不可重復聲明。
6、對於復合類型的變量,變量名不指向數據,而是指向數據所在的地址。const命令只是保證變量名指向的地址不變,並不保證該地址的數據不變,所以將一個對象聲明為常量必須非常小心。
7、如果真的想將對象凍結,應該使用Object.freeze方法。
8、ES5只有兩種聲明變量的方法:var命令和function命令。ES6除了添加let和const命令,后面章節還會提到,另外兩種聲明變量的方法:import命令和class命令。所以,ES6一共有6種聲明變量的方法。
9、頂層對象,在瀏覽器環境指的是window對象,在Node指的是global對象。ES5之中,頂層對象的屬性與全局變量是等價的。
10、ES6中,var命令和function命令聲明的全局變量,依舊是頂層對象的屬性;另一方面規定,let命令、const命令、class命令聲明的全局變量,不屬於頂層對象的屬性。也就是說,從ES6開始,全局變量將逐步與頂層對象的屬性脫鈎。
