第7節(jié):ES6中的箭頭函數(shù)和擴展

function add(a,b){
    return a+b;
}
console.log(add(1,2));

我們聲明了一個add函數(shù),然后傳入a和b兩個值,返回a+b的值。 然后我們在控制臺打印了這個函數(shù)的返回結(jié)果,這里是3.

默認(rèn)值

在ES6中給我們增加了默認(rèn)值的操作,我們修改上邊的代碼,可以看到現(xiàn)在只需要傳遞一個參數(shù)也是可以正常運行的。

function add(a,b=1){
    return a+b;
}
console.log(add(1));

主動拋出錯誤

在使用Vue的框架中,可以經(jīng)??吹娇蚣苤鲃訏伋鲆恍╁e誤,比如v-for必須有:key值。那尤大神是如何做到的那?其實很簡單,ES6中我們直接用throw new Error( xxxx ),就可以拋出錯誤。

function add(a,b=1){
   
    if(a == 0){
        throw new Error('This is error')
    }
     return a+b;
}
 
console.log(add(0));

函數(shù)中的嚴(yán)謹(jǐn)模式

我們在ES中就經(jīng)常使用嚴(yán)謹(jǐn)模式來進行編程,但是必須寫在代碼最上邊,相當(dāng)于全局使用。在ES6中我們可以寫在函數(shù)體中,相當(dāng)于針對函數(shù)來使用。

function add(a,b=1){
    'use strict'
    if(a == 0){
        throw new Error('This is error');
    }
     return a+b;
}
 
console.log(add(1));

上邊的代碼如果運行的話,你會發(fā)現(xiàn)瀏覽器控制臺報錯,這是ES6中的一個坑,如果沒人指導(dǎo)的話,可能你會陷進去一會。這個錯誤的原因就是如果你使用了默認(rèn)值,再使用嚴(yán)謹(jǐn)模式的話,就會有沖突,所以我們要取消默認(rèn)值的操作,這時候你在運行就正常了。

function add(a,b){
    'use strict'
    if(a == 0){
        throw new Error('This is error');
    }
     return a+b;
}
 
console.log(add(1,2));

獲得需要傳遞的參數(shù)個數(shù)

如果你在使用別人的框架時,不知道別人的函數(shù)需要傳遞幾個參數(shù)怎么辦?ES6為我們提供了得到參數(shù)的方法(xxx.length).我們用上邊的代碼看一下需要傳遞的參數(shù)個數(shù)。

function add(a,b){
    'use strict'
    if(a == 0){
        throw new Error('This is error');
    }
     return a+b;
}
 
console.log(add.length);

這時控制臺打印出了2,但是如果我們?nèi)サ魢?yán)謹(jǐn)模式,并給第二個參數(shù)加上默認(rèn)值的話,這時候add.length的值就變成了1, 也就是說它得到的是必須傳入的參數(shù)。

箭頭函數(shù)

在學(xué)習(xí)Vue的時候,我已經(jīng)大量的使用了箭頭函數(shù),因為箭頭函數(shù)真的很好用,我們來看一個最簡單的箭頭函數(shù)。也就是上邊我們寫的add函數(shù),進行一個改變,寫成箭頭函數(shù)。

{}的使用

在箭頭函數(shù)中,方法體內(nèi)如果是兩句話,那就需要在方法體外邊加上{}括號。例如下邊的代碼就必須使用{}.

var add =(a,b=1) => {
    console.log('music')
    return a+b;
};
console.log(add(1));

箭頭函數(shù)中不可加new,也就是說箭頭函數(shù)不能當(dāng)構(gòu)造函數(shù)進行使用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 函數(shù)參數(shù)的默認(rèn)值 基本用法 在ES6之前,不能直接為函數(shù)的參數(shù)指定默認(rèn)值,只能采用變通的方法。 上面代碼檢查函數(shù)l...
    呼呼哥閱讀 3,711評論 0 1
  • 函數(shù)參數(shù)的默認(rèn)值 基本用法 在ES6之前,不能直接為函數(shù)的參數(shù)指定默認(rèn)值,只能采用變通的方法。 上面代碼檢查函數(shù)l...
    陳老板_閱讀 520評論 0 1
  • 函數(shù)和對象 1、函數(shù) 1.1 函數(shù)概述 函數(shù)對于任何一門語言來說都是核心的概念。通過函數(shù)可以封裝任意多條語句,而且...
    道無虛閱讀 4,961評論 0 5
  • 一、函數(shù)參數(shù)的默認(rèn)值 1.1、基本用法 ES6 允許為函數(shù)的參數(shù)設(shè)置默認(rèn)值,直接寫在參數(shù)定義的后面 ES6 的寫法...
    了凡和纖風(fēng)閱讀 359評論 0 0
  • 這本書其實并不算專業(yè)書,這是一本雜文隨筆,內(nèi)容涉及到多個方面。國學(xué)、思維、宗教、民族主義、科學(xué)、倫理等問題,還...
    17級劉小琴閱讀 492評論 0 0

友情鏈接更多精彩內(nèi)容