es6聲明變量不是必須初始化的。在es6中,利用關(guān)鍵字var和let聲明的變量是可以修改的,因此可以不初始化,此時變量會被系統(tǒng)默認賦予一個初始值“undefined”;而利用關(guān)鍵字const聲明的變量不可以修改,是必須初始化的,否則會報錯。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
ES5 只有兩種聲明變量的方法:var命令和function命令,而ES6添加了let和const命令。
其中利用關(guān)鍵字var和let來聲明變量,可以不初始化。
var a ; //undefined let b; //undefined
var和let定義的變量可以修改,如果不初始化,會被系統(tǒng)默認賦予一個初始值“undefined”;會輸出undefined,不會報錯。
而利用關(guān)鍵字const來聲明變量,是必須初始化。
字const聲明的變量是一個常量,定義時必須進行初始化,且初始化后值不可再修改。
語法:
const 變量名=值; const 變量名1=值1,變量名2=值3,...,變量名n=值n;
注:常量與變量一樣均是用于存儲數(shù)據(jù)的容器,只不過常量的值在程序的運行中不可以發(fā)生改變,否則運行時會報錯。
示例:
const a = 1; const b; //報錯,必須初始化
-
該變量是個全局變量,或者是模塊內(nèi)的全局變量
-
如果一個變量只有在聲明時才被賦值一次,永遠不會在其它的代碼行里被重新賦值,那么應(yīng)該使用const,但是該變量的初始值有可能在未來會被調(diào)整(常變量)
-
創(chuàng)建一個只讀常量,在不同瀏覽器上表現(xiàn)為不可修改;建議申明后不修改;擁有塊級作用域
-
const 代表一個值的常量索引 ,也就是說,變量名字在內(nèi)存中的指針不能夠改變,但是指向這個變量的值可能 改變
-
const定義的變量不可修改,一般在require一個模塊的時候用或者定義一些全局常量
-
可以在全局作用域或者函數(shù)內(nèi)聲明常量,但是必須初始化常量
-
常量不能和它所在作用域內(nèi)其它變量或者函數(shù)擁有相同名稱
【