天天看點

ES6之變量聲明const和let

本文介紹ES6中的const和let,現在ES6早已被浏覽器支援了。

目前各大浏覽器基本上都支援 ES6 的新特性,其中 Chrome 和 Firefox 浏覽器對 ES6 新特性最友好,IE7~11 基本不支援 ES6(微軟放棄IE了)。

以下是各大浏覽器支援情況及開始時間:

ES6之變量聲明const和let

下面開始介紹:

ES5作用域分為全局作用域和函數作用域,而ES6的作用域還增加了塊級作用域(if、for等這些大括号裡面)。

變量在作用域之外是不能被通路的,通路的時候會報錯說變量未定義,因為作用域之外生命周期結束了。

一、const

ES6強制開始了嚴格模式,變量未聲明不能使用,否則就會直接報錯。

const用于聲明常量,在程式運作中不能直接被修改,不然會報錯。

const聲明的時候一定要指派,不然會報錯。

const作用域和let一樣都是塊級作用域。

如果聲明了一個常量為json對象類型,那麼這個常量裡面的對象屬性可以更改和添加。因為const定義的變量存儲的是對象的引用。

ES6之變量聲明const和let

二、var

var定義的變量可以修改,如果不初始化會輸出undefined,不會報錯。

ES6之變量聲明const和let

三、let

let在塊級作用域有效,在該塊級作用域之外将不能被通路。

let不存在變量提升(變量提升即将變量聲明提升到它所在作用域的最開始的部分)。

ES6之變量聲明const和let

let聲明的變量不能重複聲明,不然會報錯,const亦如此。

ES6之變量聲明const和let
ES6之變量聲明const和let
ES6之變量聲明const和let

繼續閱讀