1. 程式人生 > >ES6系列_2之新的聲明方式

ES6系列_2之新的聲明方式

style 我們 無法 使用 image 簡單 圖片 col 例子

在ES5中我們在聲明時只有一種方法,就是使用var來進行聲明,ES6對聲明的進行了擴展,現在可以有三種聲明方式。

技術分享圖片

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

(2)let:它在英文中是“讓”的意思,也可以理解為一種聲明的意思。

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

1.var聲明

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

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

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

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聲明的變量是不可以改變的。

ES6系列_2之新的聲明方式