1. 程式人生 > >三十四、ES6中箭頭函式的使用

三十四、ES6中箭頭函式的使用

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;