ES6簡(jiǎn)介--源動(dòng)力

ES6的發(fā)展歷史

  • 1997年7月犁功,ECMAScript 1.0發(fā)布。

  • 1998年6月婚夫,ECMAScript 2.0版發(fā)布浸卦。
    1999年12月,ECMAScript 3.0版發(fā)布请敦,成為 J- avaScript 的通行標(biāo)準(zhǔn)镐躲,得到了廣泛支持。

  • 2007年10月侍筛,ECMAScript 4.0版草案發(fā)布,對(duì)3.0版做了大幅升級(jí)撒穷,預(yù)計(jì)次年8月發(fā)布正式版本匣椰。草案發(fā)布后,由于4.0版的目
    標(biāo)過(guò)于激進(jìn)端礼,各方對(duì)于是否通過(guò)這個(gè)標(biāo)準(zhǔn)禽笑,發(fā)生了嚴(yán)重分歧。以 Yahoo蛤奥、Microsoft佳镜、Google 為首的大公司,反對(duì) JavaScript
    的大幅升級(jí)凡桥,主張小幅改動(dòng)蟀伸;以 JavaScript 創(chuàng)造者布蘭登·艾奇為首的 Mozilla 公司,則堅(jiān)持當(dāng)前的草案。

  • 2008年7月啊掏,由于對(duì)于下一個(gè)版本應(yīng)該包括哪些功能蠢络,各方分歧太大,爭(zhēng)論過(guò)于激進(jìn)迟蜜,ECMA 開(kāi)會(huì)決定刹孔,
    中止 ECMAScript 4.0 的開(kāi)發(fā)(即廢除了這個(gè)版本),將其中涉及現(xiàn)有功能改善的一小部分娜睛,發(fā)布為 ECMAScript 3.1髓霞,
    而將其他激進(jìn)的設(shè)想擴(kuò)大范圍,放入以后的版本畦戒,由于會(huì)議的氣氛酸茴,該版本的項(xiàng)目代號(hào)起名為 Harmony(和諧)。
    會(huì)后不久兢交,ECMAScript 3.1 就改名為 ECMAScript 5薪捍。

  • 2009年12月,ECMAScript 5.0版 正式發(fā)布配喳。Harmony 項(xiàng)目則一分為二酪穿,一些較為可行的設(shè)想定名為 JavaScript.next 繼續(xù)開(kāi)發(fā),
    后來(lái)演變成 ECMAScript 6晴裹;一些不是很成熟的設(shè)想被济,則被視為 JavaScript.next.next,在更遠(yuǎn)的將來(lái)再考慮推出涧团。
    TC39 的總體考慮是只磷,ECMAScript 5 與 ECMAScript 3 基本保持兼容,較大的語(yǔ)法修正和新功能加入泌绣,將由 JavaScript.next 完成钮追。
    當(dāng)時(shí),JavaScript.next 指的是ECMAScript 6阿迈。第六版發(fā)布以后元媚,將指 ECMAScript 7。

  • 2011年6月苗沧,ECMAScript 5.1版發(fā)布刊棕,并且成為 ISO 國(guó)際標(biāo)準(zhǔn)(ISO/IEC 16262:2011)。

  • 到了2012年底待逞,所有主要瀏覽器都支持 ECMAScript 5.1版的全部功能甥角。

  • 2013年3月,ECMAScript 6 草案凍結(jié)识樱,不再添加新功能嗤无。新的功能設(shè)想將被放到 ECMAScript 7震束。

  • 2013年12月,ECMAScript 6 草案發(fā)布翁巍。然后是12個(gè)月的討論期驴一,聽(tīng)取各方反饋。

  • 2015年6月灶壶,ECMAScript 6 正式發(fā)布肝断,并且更名為“ECMAScript 2015”。這是因?yàn)?TC39 委員會(huì)計(jì)劃驰凛,
    以后每年發(fā)布一個(gè) ECMAScript 的版本胸懈,下一個(gè)版本在2016年發(fā)布,稱(chēng)為“ECMAScript 2016”恰响,2017年發(fā)布“ECMAScript 2017”趣钱,以此類(lèi)推。

ECMAScript與JavaScript的關(guān)系

ECMAScript是JavaScript的標(biāo)準(zhǔn)胚宦,而JavaScript是ECMAScript標(biāo)準(zhǔn)的一種實(shí)現(xiàn)

image.png

JavaScript組成:ECMAScript(核心)首有、DOM(文檔對(duì)象模型)、BOM(瀏覽器對(duì)象模型)

image.png

ECMAScript規(guī)定了Js的如下內(nèi)容:
1.語(yǔ)法
2.類(lèi)型
3.語(yǔ)句
4.關(guān)鍵字
5.保留字
6.操作符
7.對(duì)象

ES6特性

Js的基礎(chǔ):https://wangdoc.com/javascript/
Es6入門(mén):https://es6.ruanyifeng.com
瀏覽器對(duì)ES6的支持:http://ruanyf.github.io/es-checker/index.cn.html

image.png

1.變量定義(let和const)

1).let定義的變量只在它聲明的作用域內(nèi)有效枢劝,出了作用域無(wú)法訪(fǎng)問(wèn)

image.png

2).const保證了變量的地址空間存儲(chǔ)的數(shù)據(jù)不得改動(dòng)

image.png

變量的解構(gòu)賦值

解構(gòu)賦值:
ES6允許我們通過(guò)模式匹配的方式從已有的數(shù)組井联、對(duì)象中提取值并賦值給變量

image.png

3.類(lèi)型擴(kuò)展

字符串?dāng)U展:

image.png
image.png

數(shù)值擴(kuò)展:

image.png

函數(shù)擴(kuò)展:

image.png

數(shù)組擴(kuò)展:

image.png

對(duì)象擴(kuò)展:

image.png

4.類(lèi)型新增

ES6增加了Set 和 Map 2個(gè)類(lèi)型。
Set是集合您旁,類(lèi)似數(shù)組但是里面的元素是不可以重復(fù)的

image.png

Map是鍵值對(duì)烙常,以前想使用鍵值對(duì)只能通過(guò)對(duì)象類(lèi)處理,
現(xiàn)在直接有一個(gè)類(lèi)型可用鹤盒。

image.png

5.元編程

類(lèi)似在.NET中我們可以針對(duì)IL進(jìn)行編程操作蚕脏,通過(guò)編織動(dòng)態(tài)代理對(duì)象來(lái)進(jìn)行AOP一樣。ES6提供了Proxy類(lèi)型侦锯,它可以幫助我們做AOP驼鞭。當(dāng)需要針對(duì)對(duì)象進(jìn)行初始化以及
針對(duì)對(duì)象屬性進(jìn)行獲取、調(diào)整率触、刪除的時(shí)候我們都可以進(jìn)行攔截终议,它為我們提供了13種攔截操作。

image.png
image.png
image.png

Reflect對(duì)象和Proxy對(duì)象一樣葱蝗,也是ES6提供的操作對(duì)象的新API。Reflect對(duì)象上面的方法和Proxy對(duì)象的方法一一對(duì)應(yīng)细燎。
1).把原先不合理的API設(shè)計(jì)往Reflect對(duì)象上面遷移两曼,比如Object.defineProperty
2).把js中一些命令式的語(yǔ)法變?yōu)楹瘮?shù)行為,比如delete a.name
3).配合Proxy執(zhí)行對(duì)象的默認(rèn)行為

image.png

6.異步編程

ES6提供了Promise對(duì)象玻驻,這是一種異步編程的解決方案悼凑。
Promise充當(dāng)異步操作和回調(diào)函數(shù)之間的媒介偿枕。用法上和jQuery的deferred對(duì)象很像

image.png
image.png

使用promise優(yōu)化解決AJAX回調(diào)地獄問(wèn)題,并且有鏈?zhǔn)綄?xiě)法

image.png
image.png

async關(guān)鍵字

image.png

7.Generator函數(shù)

Generator 函數(shù)是 ES6 提供的一種異步編程解決方案户辫〗タ洌看下面案例:

image.png

Generator函數(shù)與普通函數(shù)相比在function關(guān)鍵字后面
加了,ES6沒(méi)有規(guī)定號(hào)的具體位置渔欢,但是建議緊跟
Function關(guān)鍵字后面墓塌。此外Generator函數(shù)會(huì)與yield關(guān)鍵字組合使用,看到y(tǒng)ield我們應(yīng)該能想到狀態(tài)機(jī)奥额。

1).代碼遇到y(tǒng)ield表達(dá)式苫幢,暫停執(zhí)行后面的操作
2).代碼調(diào)用next方法才會(huì)獲取到返回值,然后代碼繼續(xù)往下執(zhí)行直到遇到下一個(gè)next
3).遇到下一個(gè)return就結(jié)束垫挨,如果沒(méi)有return就返回undefined

8.類(lèi)

ES6增加了類(lèi)的功能以及類(lèi)的繼承功能:

image.png

9.模塊化

ES6增加了模塊(module)體系韩肝,它可以將一個(gè)大程序拆分成互相依賴(lài)的小文件,就像積木一樣九榔,在通過(guò)組合的方式組裝起來(lái)哀峻。ES6 的模塊系統(tǒng)主要由2個(gè)命令構(gòu)建 export 和 import。export 用于輸出模塊對(duì)外接口哲泊,而import用于輸入模塊提供的功能

image.png

前端開(kāi)發(fā)

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末剩蟀,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子攻旦,更是在濱河造成了極大的恐慌喻旷,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牢屋,死亡現(xiàn)場(chǎng)離奇詭異且预,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)烙无,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)锋谐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人截酷,你說(shuō)我怎么就攤上這事涮拗。” “怎么了迂苛?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵三热,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我三幻,道長(zhǎng)就漾,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任念搬,我火速辦了婚禮抑堡,結(jié)果婚禮上摆出,老公的妹妹穿的比我還像新娘。我一直安慰自己首妖,他們只是感情好偎漫,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著有缆,像睡著了一般象踊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妒貌,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天通危,我揣著相機(jī)與錄音,去河邊找鬼灌曙。 笑死菊碟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的在刺。 我是一名探鬼主播逆害,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蚣驼!你這毒婦竟也來(lái)了魄幕?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤颖杏,失蹤者是張志新(化名)和其女友劉穎纯陨,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體留储,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡翼抠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了获讳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阴颖。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖丐膝,靈堂內(nèi)的尸體忽然破棺而出量愧,到底是詐尸還是另有隱情,我是刑警寧澤帅矗,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布偎肃,位于F島的核電站,受9級(jí)特大地震影響浑此,放射性物質(zhì)發(fā)生泄漏软棺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一尤勋、第九天 我趴在偏房一處隱蔽的房頂上張望喘落。 院中可真熱鬧,春花似錦最冰、人聲如沸瘦棋。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赌朋。三九已至,卻和暖如春篇裁,著一層夾襖步出監(jiān)牢的瞬間沛慢,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工达布, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疤坝,地道東北人呕诉。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親印蔬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

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