ES6的箭头函数使用

ES6允许使用=>定义函数,箭头函数使得表达更加简洁,例如

// 正常函数写法
[1,2,3].map(function (x) {
  return x * x;
});

// 箭头函数写法
[1,2,3].map(x => x * x);

一、定义方式

1. 一行代码可以省略代码块花括号{}

var f = () => 5;
//等同
var f = function f() {
    return 5
}

2. 一个参数可以省略函数的小括号()

var f = v => v;
//等同
var f = function f(v) {
    return v
}

3. 多个参数多行代码常规写法

var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
    return num1 + num2;
};

注意事项

  1. 函数体内的this,指向定义时的对象,而不是使用时的对象
  2. 不能当作构造函数,不能使用new命令
  3. 不能使用arguments对象,可以使用rest参数代替
  4. 不可使用yield命令,因此箭头函数不能用作Generator

猜你喜欢

转载自www.cnblogs.com/chenqionghe/p/11412137.html