ES6|ES6 箭头函数

基本语法

  1. 基本形式:() => {}
  • ():参数。如果函数只有一个参数的时候,可以直接写参数名,省略括号。如果函数没有参数,直接使用小括号。
  • => :定义箭头函数符号。
  • {}:函数体。如果只有一条表达式,可省略花括号,表示返回表达式结果。
  1. 基本使用
  • 函数有多个参数
let add = (a, b) => { return a + b; }; // 或者 let add = (a, b) => a + b; // 等价于 let add = function(a, b) { return a + b; };

  • 函数只有一个参数
let func = a => -a; // 等价于 let func = function (a) { return -a; };

  • 函数没有参数
let getValue = https://www.it610.com/article/() => 5; //等价于 let getValue = https://www.it610.com/article/function() { return 5 };

箭头函数与传统函数区别
  1. 没有 this,super,arguments 以及 new.target 绑定 这些绑定由最近一层非箭头函数决定。
  2. 不能通过 new 关键字调用 箭头函数没有 Construct 方法,所以不能被用作构造函数。
  3. 没有原型 由于不能通过 new 关键字调用函数,因而没有构建原型的需求,所以箭头函数内部也不会存在 prototype 属性。
  4. 不可改变 this 绑定 this 的值与最近一层非箭头函数的生命周期始终保持一致。
  5. 不支持 arguments 对象 由于 arguments 对象是由最近一层非箭头函数决定,箭头函数没有 arguments 绑定,所以不可以通过 arguments 对象访问箭头函数参数,只能通过命名参数和不定参数这两种形式访问函数的参数。
  6. 不支持重复的命名参数 无论在严格还是非严格模式下,箭头函数都不支持重复的命名参数,而传统函数只有在严格模式下才不支持重复的命名参数。

    推荐阅读