ES6系列_2之新的聲明方式

在ES5中咱們在聲明時只有一種方法,就是使用var來進行聲明,ES6對聲明的進行了擴展,如今能夠有三種聲明方式。spa

 

 

 

(1)var:它是variable的簡寫,能夠理解成變量的意思。code

(2)let:它在英文中是「讓」的意思,也能夠理解爲一種聲明的意思。blog

(3)const:它在英文中也是常量的意思,在ES6也是用來聲明常量的,常量你能夠簡單理解爲不變的量。console

1.var聲明

var在ES6裏是用來升級全局變量的,也就是說,在ES6中使用var是用來聲明全局變量的。編譯

var a=2;
{
   var a=3;
}
console.log(a);

這時打印出來的值是多少那?對,應該是3,由於var是全局聲明的。class

2.let局部聲明

與var向對應的是let,它是局部變量聲明。仍是上面的例子,咱們試着在區塊裏用let聲明。變量

var a=2;
{
   let a=3;
}
console.log(a);

這時候控制檯打印出來的值就是2了。若是咱們只在區塊裏聲明,再也不外部聲明,咱們打印a時就會報錯,顯示找不到變量。擴展

{
   let a=3;
}
console.log(a);// a is not defined

上述說明了let是局部變量聲明,let聲明只在區塊內起做用,外部是不能夠調用的。循環

2.1 用let聲明的循環

你執行時會發現控制檯報錯了,找不到循環體外的i變量。經過兩種聲明的比較,能夠明白let在防止程序數據污染上仍是頗有用處的。咱們要努力去習慣用let聲明,減小var聲明去污染全局空間。程序

 3.const聲明常量

從聲明開始,這個變量始終不變,就須要用const進行聲明。

好比下面的代碼:

const a="我是常量";
var a='我還可變';
console.log(a);

在編譯這段代碼的過程當中,你就會發現已經報錯,沒法編譯了,緣由就是咱們const聲明的變量是不能夠改變的。

相關文章
相關標籤/搜索