兜兜轉(zhuǎn)轉(zhuǎn),看阮一峰的博客ECMAScript 6入門已經(jīng)有很久了,或許讓我ES6是個什么,我還真說不上,既然說不上就是理解的不夠透徹,所以還是要做一下筆記,好記性不如爛筆頭,再一次做個總結(jié):
1.定義和由來:
(簡稱 ES6)是 JavaScript 語言的下一代標準。(很多公司都會以這個標準去面試,我就是那種可能用過,卻說不上來語法明確區(qū)別的人,嘿嘿。。。),96年Netscape 公司發(fā)布1.0版。2011年發(fā)布5.1版本。2015年發(fā)布6.1版本。ES6 既是一個歷史名詞,也是一個泛指,含義是 5.1 版以后的 JavaScript 的下一代標準,涵蓋了 ES2015、ES2016、ES2017 等等,而 ES2015 則是正式名稱,特指該年發(fā)布的正式版本的語言標準。本書中提到 ES6 的地方,一般是指 ES2015 標準,但有時也是泛指“下一代 JavaScript 語言”。。
2.es6轉(zhuǎn)換成ES5的方法
(1)Babel?是一個廣泛使用的 ES6 轉(zhuǎn)碼器,可以將 ES6 代碼轉(zhuǎn)為 ES5 代碼,從而在現(xiàn)有環(huán)境執(zhí)行。所有 使用Babel 工具和模塊的使用,都必須先寫好配置文件(.babelrc,其中presets字段設(shè)定轉(zhuǎn)碼規(guī)則,plugins設(shè)置插件)。(2)Google 公司的Traceur轉(zhuǎn)碼器
3,新增的語法
(1)let:
1,暫時性死區(qū):ES6 新增了let命令,等同于var聲明變量,但是只在let命令所在的代碼塊內(nèi)有效,此處在使用同名變量使用let命令聲明,所以在聲明之前,都屬于該變量的“暫時性死區(qū)”,只要用到該變量就會報錯。2,不允許重復(fù)聲明3,塊級作用域(避免內(nèi)層變量可能會覆蓋外層變量或計數(shù)的循環(huán)變量泄露為全局變量等問題)
(2)const
const聲明一個只讀的常量。一旦聲明,常量的值就不能改變,和let差不多,const命令聲明的常量也是不提升,同樣存在暫時性死區(qū)
var命令和function命令。ES6 除了添加let和const命令,后面章節(jié)還會提到,另外兩種聲明變量的方法:import命令和class命令。所以,ES6 一共有 6 種聲明變量的方法。