本文例項講述了ES6箭頭函式和擴充套件。
1.預設值
在ES6中給我們增加了預設值的操作相關程式碼如下:
function add(a,b=1){ return a+b; } console.log(add(1));
可以看到現在只需要傳遞一個引數也是可以正常執行的。
輸出結果為:2。
2.主動丟擲錯誤
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));
在控制檯可看到異常為:
3.函式中的嚴謹模式
我們在ES5中就經常使用嚴謹模式來進行程式設計,但是必須寫在程式碼最上邊,相當於全域性使用。在ES6中我們可以寫在函式體中,相當於針對函式來使用。例如:
function add(a,b=1){ 'use strict' if(a == 0){ throw new Error('This is error'); } return a+b; } console.log(add(1));
上邊的程式碼如果執行的話,你會發現瀏覽器控制檯報錯,這個錯誤的原因就是如果你使用了預設值,再使用嚴謹模式的話,就會有衝突,所以我們要取消預設值的操作,這時候你在執行就正常了。
function add(a,b){ 'use strict' if(a == 0){ throw new Error('This is error'); } return a+b; } console.log(add(1,2));
結果為3。
4.獲得需要傳遞的引數個數
ES6為我們提供了得到引數的方法(xxx.length).我們用上邊的程式碼看一下需要傳遞的引數個數。
function add(a,b){ 'use strict' if(a == 0){ throw new Error('This is error'); } return a+b; } console.log(add.length);//2
這時控制檯列印出了2,但是如果我們去掉嚴謹模式,並給第二個引數加上預設值的話,如下:
function add(a,b=1){ if(a == 0){ throw new Error('This is error'); } return a+b; } console.log(add.length);//1
這時控制檯列印出了1。
總結:它得到的是必須傳入的引數。
5.箭頭函式
在箭頭函式中,方法體內如果是兩句話,那就需要在方法體外邊加上{}括號
var add =(a,b=1) => { console.log('hello world') return a+b; }; console.log(add(1));//2
[e36605 ] ES6箭頭函式和擴充套件例項分析已經有279次圍觀