箭头函数

97 阅读1分钟
  • 箭头函数

箭头函数表达式的语法比函数表达式更简洁。并且没有自己的this。箭头函数更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。 箭头函数的作用:

1.箭头函数的语法比函数表达式更简洁。

2.箭头函数可以解决this指向问题。箭头函数不会创建自己的this,它只会从自己的作用域链向上一层继承this。

箭头函数的使用场景:

1.简单的函数表达式,内部没有this引用,没有递归,事件绑定,解绑定。

2.需要调用this,且this指向和上一层作用域链保持一致时。如保证指向vue实例对象。

  // 箭头函数的定义
  let multiply = (x, y) => { return x * y; }

multiply就是函数名,xy是形参,{ return x * y; }是函数体。这个箭头函数的功能是将输入的两个参数相乘并返回结果。

箭头函数有一些特点和限制需要注意:

  • 箭头函数有更加简洁的语法。
  • 箭头函数不绑定自己的this,会捕获其所在上下文的this作为自己的this。
  • 箭头函数是匿名函数,不能用作构造函数,使用new调用箭头函数会引发TypeError。
  • 箭头函数没有独立的arguments、super绑定。

简化箭头函数:

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

当箭头函数的函数体只有一条返回语句时,可以省略花括号和return关键字:

const square = x => x * x;

const getName = person => person.name;