深入淺出ES6新特性之函數(shù)默認(rèn)參數(shù)和箭頭函數(shù)
1、函數(shù)參數(shù)的默認(rèn)值
ES5中不能直接為函數(shù)的參數(shù)指定默認(rèn)值,只能通過以下的變通方式:
從上面的代碼可以看出存在一個(gè)問題,當(dāng)傳入的參數(shù)為0或者false時(shí),會(huì)直接取到后面的值,而不是傳入的這個(gè)參數(shù)值。
那怎么解決呢?對于上圖的代碼,可以通過判斷是否傳入了num參數(shù),沒有就用默認(rèn)值:
這種做法還是很麻煩的,而ES6則直接在參數(shù)定義里面設(shè)置函數(shù)參數(shù)的默認(rèn)值,而且不用擔(dān)心傳入?yún)?shù)是0或者false會(huì)出錯(cuò)了:
2、箭頭函數(shù)
箭頭函數(shù)用 => 符號(hào)來定義。
箭頭函數(shù)相當(dāng)于匿名函數(shù),所以采用函數(shù)表達(dá)式的寫法。
左邊是傳入函數(shù)的參數(shù),右邊是函數(shù)中執(zhí)行的語句。
上面是完整的寫法,左邊小括號(hào),右邊大括號(hào),而下面的情況可以簡寫:
(1)當(dāng)要執(zhí)行的代碼塊只有一條return語句時(shí),可省略大括號(hào)和return關(guān)鍵字:
箭頭函數(shù)在回調(diào)函數(shù)中是很簡潔的,像這樣:
需要注意的是, 箭頭函數(shù)沒有自己的this、arguments、super、new.target,它們分別指向外層函數(shù)的相應(yīng)變量。
以前在ES5中使用this有點(diǎn)麻煩,這種問題很常見:
但是現(xiàn)在有了箭頭函數(shù),不再需要使用that = this或 _this = this 這種代碼啦,因?yàn)榧^函數(shù)中的this直接就是外層函數(shù)中的this,代碼更簡單了:
以上所述是小編給大家介紹的A深入淺出ES6新特性之函數(shù)默認(rèn)參數(shù)和箭頭函數(shù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
微信小程序?qū)崿F(xiàn)圖片上傳功能實(shí)例(前端+PHP后端)
這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)圖片上傳功能的相關(guān)內(nèi)容,文中詳細(xì)介紹了前端+PHP后端的示例代碼,對大家的理解和學(xué)習(xí)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01JS/jQuery實(shí)現(xiàn)簡單的開關(guān)燈效果【案例】
這篇文章主要介紹了JS/jQuery實(shí)現(xiàn)簡單的開關(guān)燈效果,結(jié)合具體實(shí)例形式分析了javascript/jQuery事件響應(yīng)及頁面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-02-02改進(jìn)UCHOME的記錄發(fā)布,增強(qiáng)可訪問性用戶體驗(yàn)
今天是看到UCDChina上的一篇文章文章 ,是關(guān)于SNS的用戶體驗(yàn)問題,發(fā)覺文中提到的第一個(gè)細(xì)節(jié),UCHOME就做的不好,于是改進(jìn)了一下。2011-01-01純Javascript實(shí)現(xiàn)ping功能的方法
這篇文章主要介紹了純Javascript實(shí)現(xiàn)ping功能的方法,實(shí)例分析了javascript實(shí)現(xiàn)ping功能的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03js實(shí)現(xiàn)動(dòng)態(tài)添加、刪除行、onkeyup表格求和示例
動(dòng)態(tài)添加、刪除行想必大家并不陌生,下面為大家介紹通過js是如何實(shí)現(xiàn)的,有此需求的朋友可不要錯(cuò)過了哈2013-08-08