三十四、ES6中箭頭函式的使用
阿新 • • 發佈:2018-12-02
1、單引數箭頭函式
ES6中允許使用“箭頭”(=>)定義函式:
var f = v => v;
以上程式碼相當於:
var f = function( v ) {
return v;
}
“箭頭”(=>)後面是函式體,“箭頭”(=>)相當於function關鍵字。
function( v )函式只有一個引數就用v表示。
2、無引數箭頭函式
var f = () => 5;
等同於
var f = function() { return 5};
3、多引數的箭頭函式
var sum = ( a, b) => a + b;
等同於
var sum = function( a, b) {
return a +b;
}
4、物件的處理
const full = ({first, last}) => first +" "+ last;
等同於
function full(person) {
return person.first +" "+ person.last;
}
5、簡化回撥函式
[1,2,3].map(function(x){
return x*x;
});
使用箭頭函式的寫法
[1,2,3].map(x => x*x);
另外一個例子:
var result = values.sort(function(a, b){
return a -b;
});
箭頭函式的寫法
var result = values.sort((a, b) => a-b);
6、rest引數與箭頭函式結合
const numbers = (...nums) => nums; numbers(1,2,3,4,5,6,7,8,9); //[1,2,3,4,5,6,7,8,9] //...nums 表示的是一個數組 const headAndTail = ( head, ...tail) => [head, tail]; headAndTail(1,2,3,4,5,6,7,8,9);// [1, [2,3,4,5,6,7,8,9]]
7、帶函式名的多參箭頭函式
function add(x,y){return x+y};
//這是es5中定義函式的寫法,es6中我們可以這麼搞:
var add=(x,y)=>x+y;