前端知識 | 簡析ES6

CMAScript 6 簡介:

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

剛開始使用 vue 或者 react拂盯,很多時候我們都會把 ES6 這個大兄弟加入我們的技術(shù)棧中佑女。以下是我們在日常開發(fā)中比較常用的特性。

1.變量聲明 const 和 let

我們都是知道在 ES6 以前谈竿,var 關(guān)鍵字聲明變量团驱。無論聲明在何處,都會被視為聲明在函數(shù)的最頂部(不在函數(shù)內(nèi)即在全局作用域的最頂部)空凸。這就是變量提例如:

以上的代碼實際上是:

所以無論如何 test 都會被創(chuàng)建聲明

但是在 ES6 中新增了 let 和 const 命令嚎花。let 表示、const 表示常量呀洲。let?和 const 都是在它們所在的塊級作用域中有效紊选√渲梗看以下代碼:

const 聲明的常量不能被修改

let 的作用域是在它所在當(dāng)前代碼塊,不會存在變量提升兵罢。for?循環(huán)的計數(shù)器献烦,就很合適使用?let?命令。列入以下代碼

2.函數(shù)

函數(shù)默認(rèn)參數(shù)

在 ES5 我們給函數(shù)定義參數(shù)默認(rèn)值:

但當(dāng) num 傳入為0的時候就是 false卖词,此時 num = 200 與我們的實際要的效果明顯不一樣巩那。

ES6 為參數(shù)提供了默認(rèn)值。在定義函數(shù)時便初始化了這個參數(shù)坏平,以便在參數(shù)沒有被傳遞進(jìn)去時使用拢操。

箭頭函數(shù)

ES6 很有意思的一部分就是函數(shù)的快捷寫法锦亦。也就是箭頭函數(shù)舶替。

箭頭函數(shù)最直觀的三個特點:

·????????不需要 function 關(guān)鍵字來創(chuàng)建函數(shù)

·????????省略 return 關(guān)鍵字

·????????繼承當(dāng)前上下文的 this 關(guān)鍵字

3.更方便的數(shù)據(jù)訪問--解構(gòu)

數(shù)組和對象是 JS 中最常用也是最重要表示形式。為了簡化提取信息杠园,ES6 新增了解構(gòu)顾瞪,這是將一個數(shù)據(jù)結(jié)構(gòu)分解為更小的部分的過程。

ES5 中我們提取對象中的信息形式如下:

ES6 中我們從對象或者數(shù)組里取出數(shù)據(jù)存為變量抛蚁,例如

4.Spread Operator 展開運算符

ES6 中的另外一個特性就是 Spread Operator 三個點兒...

組裝對象或者數(shù)組

想獲取數(shù)組或者對象除了前幾項或者除了某幾項的其他項

對于 Object 而言陈醒,還可以用于組合成新的 Object。(ES2017 stage-2 proposal) 當(dāng)然如果有重復(fù)的屬性名瞧甩,右邊覆蓋左邊

5.import 和 export

import 導(dǎo)入模塊钉跷、export 導(dǎo)出模塊

導(dǎo)入與導(dǎo)出的一些細(xì)節(jié):

1.當(dāng)用 export defaultpeople 導(dǎo)出時,就用 import people 導(dǎo)入(不帶大括號)


2.一個文件里肚逸,有且只能有一個 exportdefault爷辙。但可以有多個 export朦促。


3.當(dāng)用 export name 時膝晾,就用 import { name } 導(dǎo)入(記得帶上大括號)


4.當(dāng)一個文件里,既有一個 exportdefault people, 又有多個 export name 或者 export age 時务冕,導(dǎo)入就用 import people, { name, age}

5.當(dāng)一個文件里出現(xiàn) n 多個 export 導(dǎo)出很多模塊血当,導(dǎo)入時除了一個一個導(dǎo)入,也可以用 import * asexample

6.Promise

Promise 是異步編程的一種解決方案禀忆,比傳統(tǒng)的解決方案——回調(diào)函數(shù)和事件——更合理和更強大臊旭。它由社區(qū)最早提出和實現(xiàn),ES6 將其寫進(jìn)了語言標(biāo)準(zhǔn)箩退,統(tǒng)一了用法离熏,原生提供了?Promise?對象。

所謂?Promise乏德,簡單說就是一個容器撤奸,里面保存著某個未來才會結(jié)束的事件(通常是一個異步操作)的結(jié)果吠昭。從語法上說,Promise 是一個對象胧瓜,從它可以獲取異步操作的消息矢棚。Promise 提供統(tǒng)一的 API,各種異步操作都可以用同樣的方法進(jìn)行處理府喳。

基本用法:

Promise?構(gòu)造函數(shù)接受一個函數(shù)作為參數(shù)蒲肋,該函數(shù)的兩個參數(shù)分別是?resolve?和?reject。它們是兩個函數(shù)钝满,由 JavaScript 引擎提供兜粘,不用自己部署。

resolve?函數(shù)的作用是弯蚜,將?Promise?對象的狀態(tài)從“未完成”變?yōu)椤俺晒Α保磸?pending 變?yōu)?resolved)孔轴,在異步操作成功時調(diào)用,并將異步操作的結(jié)果碎捺,作為參數(shù)傳遞出去路鹰;reject?函數(shù)的作用是,將?Promise?對象的狀態(tài)從“未完成”變?yōu)椤笆 保磸?pending 變?yōu)?rejected)收厨,在異步操作失敗時調(diào)用晋柱,并將異步操作報出的錯誤,作為參數(shù)傳遞出去诵叁。

以上整理的是比較常見的 es6 特性雁竞,更多 es6 的內(nèi)容大家可以進(jìn)入到官方文檔中學(xué)習(xí)。


【海說軟件接受各種技術(shù)咨詢及開發(fā)業(yè)務(wù)】

-END-?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拧额,一起剝皮案震驚了整個濱河市碑诉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌势腮,老刑警劉巖联贩,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異捎拯,居然都是意外死亡泪幌,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進(jìn)店門署照,熙熙樓的掌柜王于貴愁眉苦臉地迎上來祸泪,“玉大人,你說我怎么就攤上這事建芙∶话” “怎么了?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵禁荸,是天一觀的道長右蒲。 經(jīng)常有香客問我阀湿,道長,這世上最難降的妖魔是什么瑰妄? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任陷嘴,我火速辦了婚禮,結(jié)果婚禮上间坐,老公的妹妹穿的比我還像新娘灾挨。我一直安慰自己,他們只是感情好竹宋,可當(dāng)我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布劳澄。 她就那樣靜靜地躺著,像睡著了一般蜈七。 火紅的嫁衣襯著肌膚如雪秒拔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天宪潮,我揣著相機與錄音溯警,去河邊找鬼趣苏。 笑死狡相,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的食磕。 我是一名探鬼主播尽棕,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼彬伦!你這毒婦竟也來了滔悉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤单绑,失蹤者是張志新(化名)和其女友劉穎回官,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體搂橙,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡歉提,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了区转。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苔巨。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖废离,靈堂內(nèi)的尸體忽然破棺而出侄泽,到底是詐尸還是另有隱情,我是刑警寧澤蜻韭,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布悼尾,位于F島的核電站柿扣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏闺魏。R本人自食惡果不足惜窄刘,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舷胜。 院中可真熱鬧娩践,春花似錦、人聲如沸烹骨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沮焕。三九已至吨岭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間峦树,已是汗流浹背辣辫。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留魁巩,地道東北人急灭。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像谷遂,于是被迫代替她去往敵國和親葬馋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,781評論 2 361

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

  • [TOC] 參考阮一峰的ECMAScript 6 入門參考深入淺出ES6 let和const let和const都...
    郭子web閱讀 1,783評論 0 1
  • 以下內(nèi)容是我在學(xué)習(xí)和研究ES6時肾扰,對ES6的特性畴嘶、重點和注意事項的提取、精練和總結(jié)集晚,可以做為ES6特性的字典窗悯;在本...
    科研者閱讀 3,133評論 2 9
  • 官方中文版原文鏈接 感謝社區(qū)中各位的大力支持,譯者再次奉上一點點福利:阿里云產(chǎn)品券偷拔,享受所有官網(wǎng)優(yōu)惠蒋院,并抽取幸運大...
    HetfieldJoe閱讀 3,661評論 2 27
  • 原博:前端開發(fā)者不得不知的 JavaScript ES6 十大特性轉(zhuǎn)載自AlloyTeam:http://www....
    許吉中閱讀 4,137評論 1 79
  • 并且用內(nèi)在動機去驅(qū)使自己做事,這是工作的最佳狀態(tài)条摸。 自己想要去做什么事的時候悦污,是別人攔都攔不住的。
    路平028閱讀 241評論 0 0