箭头函数

ES6 允许使用“箭头”(=>)定义函数。

例:

1.一个参数 

x => x * x

上面的箭头函数相当于:

function (x) {
    return x * x;
}

2.如果参数不是一个,就需要用括号()括起来: 包括没有参数的情况

// 两个参数:
(x, y) => x * x + y * y

// 无参数:
() => 3.14

// 可变参数:
(x, y, ...rest) => {
    var i, sum = x + y;
    for (i=0; i<rest.length; i++) {
        sum += rest[i];
    }
    return sum;
}

匿名函数不用写函数名,箭头函数连function 命令都省略了

注意:

箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,由上下文确定。

由于this在箭头函数中已经按照词法作用域绑定了,所以,用call()或者apply()调用箭头函数时,无法对this进行绑定,即传入的第一个参数被忽略

参考资料:

http://es6.ruanyifeng.com/#docs/function#%E7%AE%AD%E5%A4%B4%E5%87%BD%E6%95%B0

https://www.liaoxuefeng.com/wiki/1022910821149312/1031549578462080

原文地址:https://www.cnblogs.com/songsongblue/p/11685069.html