1997 ES1.0
1998 ES2.0
1999 ES3.0------初學(xué)的都是這個(gè)版本
2000 ES4.0------不過沒有通過滓走,很多內(nèi)容在ES6中實(shí)現(xiàn),也是ES6的起點(diǎn)
2009 ES5------與ES3基本保持兼容
2011 ES5.1------成為國(guó)際標(biāo)準(zhǔn)
2015 ES6------成為國(guó)際標(biāo)準(zhǔn)
Babel:ES6轉(zhuǎn)碼器
將ES6---->ES5
Traceur轉(zhuǎn)碼器(來自Google):將ES6---->ES5
let:
1帽馋、聲明的變量只在代碼塊內(nèi)有用搅方,以前js是沒有塊級(jí)作用域的概念的
2比吭、沒有變量提升,一定要““先聲明后使用””
3姨涡、暫時(shí)性死區(qū)
4衩藤、不允許在相同作用域聲明同一個(gè)變量(要理解相同作用域)
const:
1、聲明常量涛漂,不可改變
2赏表、只聲明不賦值會(huì)報(bào)錯(cuò)
3、作用域和let相同
4、也存在暫時(shí)性死區(qū)
5、也不可重復(fù)聲明變量
6产还、于對(duì)象而言瞎饲,存的是地址,不變的也是地址
ES6有6種聲明變量的方法:
1)var
2)function
-----------以上兩種聲明的全局變量是window對(duì)象的屬性
3)let
4)const
5)class
-----------以上三種生命的全局變量不是window對(duì)象的屬性
6)import
解構(gòu)賦值:
1棍好、數(shù)組的解構(gòu)賦值:
從數(shù)組中提取值,按照位置順序給各個(gè)變量賦上
允許指定默認(rèn)值
2、對(duì)象的解構(gòu)賦值:
由于屬性沒有次序前标,因此變量名必須和屬性名相同
不同名時(shí),采用 屬性名:變量名 結(jié)構(gòu)
也可以指定默認(rèn)值
3距潘、字符串的解構(gòu)賦值:
類似數(shù)組
4炼列、數(shù)值和布爾值的解構(gòu)賦值:
數(shù)值或者布爾值,先轉(zhuǎn)換為對(duì)象
5音比、函數(shù)參數(shù)的解構(gòu)賦值: