ES6標(biāo)準(zhǔn)入門

ECMAScript 6.0(以下簡稱ES6):是JavaScript語言的下一代標(biāo)準(zhǔn),已經(jīng)在2015年6月正式發(fā)布了猾漫。它的目標(biāo),是使得JavaScript語言可以用來編寫復(fù)雜的大型應(yīng)用程序,成為企業(yè)級開發(fā)語言贱纠。


ECMAScript和JavaScript的關(guān)系 :前者是后者的規(guī)格莫换,后者是前者的一種實現(xiàn)霞玄!1996年11月,JavaScript的創(chuàng)造者Netscape公司拉岁,決定將JavaScript提交給國際標(biāo)準(zhǔn)化組織ECMA坷剧,希望這種語言能夠成為國際標(biāo)準(zhǔn)。次年喊暖,ECMA發(fā)布262號標(biāo)準(zhǔn)文件(ECMA-262)的第一版惫企,規(guī)定了瀏覽器腳本語言的標(biāo)準(zhǔn),并將這種語言稱為ECMAScript哄啄,這個版本就是1.0版雅任。


ECMAScript的歷史:ECMAScript 1.0是1997年發(fā)布的风范,接下來的兩年,連續(xù)發(fā)布了ECMAScript 2.0(1998年6月)和ECMAScript 3.0(1999年12月)2000年沪么,ECMAScript 4.0開始醞釀硼婿。這個版本最后沒有通過,但是它的大部分內(nèi)容被ES6繼承了禽车。因此寇漫,ES6制定的起點其實是2000年。2009年12月殉摔,ECMAScript 5.0版正式發(fā)布州胳。2011年6月,ECMAscript 5.1版發(fā)布逸月。2015年6月栓撞,ECMAScript 6正式通過


Babel轉(zhuǎn)碼器:Babel是一個廣泛使用的ES6轉(zhuǎn)碼器,可以將ES6代碼轉(zhuǎn)為ES5代碼碗硬,從而在現(xiàn)有環(huán)境執(zhí)行

// 轉(zhuǎn)碼前?

input.map(item => item + 1);

// 轉(zhuǎn)碼后?

input.map(function (item) { return item + 1;}) ?

箭頭函數(shù)瓤湘,這個特性還沒有得到廣泛支持,Babel將其轉(zhuǎn)為普通函數(shù)恩尾,就能在現(xiàn)有的JavaScript環(huán)境執(zhí)行了


ECMAScript版本生成的五個階段

Stage 0 - Strawman(展示階段)

Stage 1 - Proposal(征求意見階段)

Stage 2 - Draft(草案階段)

Stage 3 - Candidate(候選人階段)

Stage 4 - Finished(定案階段)


let命令

不存在變量提升

暫時性死區(qū)

let不允許在相同作用域內(nèi)弛说,重復(fù)聲明同一個變量

function () {let a = 10;var a = 1;}

function () {let a = 10;let a = 1;}


塊級作用域:

ES5只有全局作用域和函數(shù)作用域,沒有塊級作用域翰意,這帶來很多不合理的場景木人。

第一種場景,內(nèi)層變量可能會覆蓋外層變量冀偶。

var tmp = new Date();

function f() {

console.log(tmp);

if (false) {

var tmp = "hello world";

}

}

f(); // undefined

上面代碼中醒第,函數(shù)f執(zhí)行后,輸出結(jié)果為undefined进鸠,原因在于變量提升淘讥,導(dǎo)致內(nèi)層的tmp變量覆蓋了外層的tmp變量疚鲤。

第二種場景扣草,用來計數(shù)的循環(huán)變量泄露為全局變量撤逢。

var s = 'hello';

for (var i = 0; i < s.length; i++) {

console.log(s[i]);

}

console.log(i); // 5

上面代碼中,變量i只用來控制循環(huán)搀罢,但是循環(huán)結(jié)束后,它并沒有消失侥猩,泄露成了全局變量榔至。

function f1() {let n = 5;

if (true) {

let n = 10;

}

console.log(n); // 5

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市欺劳,隨后出現(xiàn)的幾起案子唧取,更是在濱河造成了極大的恐慌铅鲤,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枫弟,死亡現(xiàn)場離奇詭異邢享,居然都是意外死亡,警方通過查閱死者的電腦和手機淡诗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門骇塘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人韩容,你說我怎么就攤上這事款违。” “怎么了群凶?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵插爹,是天一觀的道長。 經(jīng)常有香客問我请梢,道長赠尾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任溢陪,我火速辦了婚禮萍虽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘形真。我一直安慰自己杉编,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布咆霜。 她就那樣靜靜地躺著邓馒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蛾坯。 梳的紋絲不亂的頭發(fā)上光酣,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機與錄音脉课,去河邊找鬼救军。 笑死,一個胖子當(dāng)著我的面吹牛倘零,可吹牛的內(nèi)容都是我干的唱遭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼呈驶,長吁一口氣:“原來是場噩夢啊……” “哼拷泽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤司致,失蹤者是張志新(化名)和其女友劉穎拆吆,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脂矫,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡枣耀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了羹唠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奕枢。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖佩微,靈堂內(nèi)的尸體忽然破棺而出缝彬,到底是詐尸還是另有隱情,我是刑警寧澤哺眯,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布谷浅,位于F島的核電站,受9級特大地震影響奶卓,放射性物質(zhì)發(fā)生泄漏一疯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一夺姑、第九天 我趴在偏房一處隱蔽的房頂上張望墩邀。 院中可真熱鬧,春花似錦盏浙、人聲如沸眉睹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽竹海。三九已至,卻和暖如春丐黄,著一層夾襖步出監(jiān)牢的瞬間斋配,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工灌闺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留艰争,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓桂对,卻偏偏與公主長得像园细,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子接校,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容