加载中...

8. 箭头函数


  • 8.1 当你必须使用函数表达式(或传递一个匿名函数)时,使用箭头函数符号。

    为什么?因为箭头函数创造了新的一个 this 执行环境(译注:参考 Arrow functions - JavaScript | MDN 和 ES6 arrow functions, syntax and lexical scoping),通常情况下都能满足你的需求,而且这样的写法更为简洁。

    为什么不?如果你有一个相当复杂的函数,你或许可以把逻辑部分转移到一个函数声明上。

      // bad
      [1, 2, 3].map(function (x) {
        return x * x;
      });
    
      // good
      [1, 2, 3].map((x) => {
        return x * x;
      });
  • 8.2 如果一个函数适合用一行写出并且只有一个参数,那就把花括号、圆括号和 return 都省略掉。如果不是,那就不要省略。

    为什么?语法糖。在链式调用中可读性很高。

    为什么不?当你打算回传一个对象的时候。

      // good
      [1, 2, 3].map(x => x * x);
    
      // good
      [1, 2, 3].reduce((total, n) => {
        return total + n;
      }, 0);

还没有评论.