JS/ES6/箭头函数的用法

箭头函数使用是比较方便简洁的,在普通函数里面我们通常返回一个值时是需要return回去的,但在箭头函数里面已经包含着这个return所以我们不用编写return。

let a = 3;
function arrow(a){
    return a * 2
}
arrow(a)

我们可以简写成:

let a = 3;
let arrow = (a) => a * 2;
arrow(a)

箭头函数并没有自己的this、arguments、spuer或new.target的。

  • 在箭头函数之前如果这个函数是构造函数,那么这个this指向是一个新的对象;
  • 严格模式下函数的this指向是undefind;
  • 如果该函数是一个对象的方法,那么this的指针指向是这个对象;
  • 箭头函数是不会创建自己的this,它只会在作用域链的上一层继承this;
function Arrow(){
     this.all = 0;
     setInterval( () => {
           this.all++;
     }, 1000)
}
let p = new arrow();

适用于匿名函数,不能用于构造函数,和new一起用会抛出错误。

var arrow = () => {};
var arrow = new Arrow(); // TypeError: Foo is not a constructor

箭头函数没有prototype属性。

let arrow = () => {};
console.log(arrow.prototype) //undefined
posted @ 2020-10-25 21:37  夏季的雨  阅读(108)  评论(0)    收藏  举报