Arrow Function(箭头函数)

2019-03-16  本文已影响0人  灯火葳蕤234

举例:

const square = function(number) {
  return number * number;
}
consr square = (number) => {
  return number * number;
  }
consr square = (number) => number * number;
const jobs = [
  { id: 1, isActive: true },
  { id: 2, isActive: true },
  { id: 3, isActive: false },
];
const activeJobs = jobs.filter(function(job) { return job.isActive; });
const activeJobs = jobs.filter(job => job.isActive );

Arrow Function And This

const person = {
  talk() {
    console.log('this',this);
  }
};
person.talk();

此时,打印的是person的引用,因为this现在是绑定到person对象的。
如果将打印信息放到setTimeOut函数会怎样?

const person = {
  talk() {
    setTimeOut(function (){
      console.log('this',this);
    },1000);
  }
};
person.talk();

那我们怎么在回调函数中得到person对象呢?

const person = {
  talk() {
    var self = this;
    setTimeOut(function (){
      console.log('self',self);
    },1000);
  }
};
person.talk();

运行,我们就得到了person对象

const person = {
  talk() {
    setTimeOut(()=> {
      console.log('this',this);
    },1000);
  }
};
person.talk();

运行,我们可以看到this指向了person对象。我们运用剪头函数不重绑定this的特性,实现了在回调函数中得到person对象。

上一篇 下一篇

猜你喜欢

热点阅读