const firts =({one,two})=>{return one+two};
这就等同于
function first(all){
return all.one + all.two;
}
为认为最为典型的列子是dva中connect的写法
@connect(({ classesmanage, loading }) => ({
classesmanage,
loading: loading.effects['classesmanage/tagList'],
}))
如果你将{classesmanage, loading }变为一个参数 比如a,再在箭头函数中打印出a,就可以看到其实a是所有的model
- 在箭头函数中还比较容易混淆的是括号,圆括号于花括号
如果返回的是一个对象的话,我们需要用圆括号将其包起来
const second= ()=>({a:1,b:2});
如果返回的不是一个对象,那我们这样写就好了
const third = (a,b)=>{return a+b};
- 箭头函数中this的指向,指向定义时所在的作用域而不是运行时所在的作用域
function Timer(){
this.s1 = 0;
this.s2 = 0;
setInterval(()=>this.s1++,1000); //指向timer
setInterval(function(){ //指向全局
this.s2++;
},1000);
}
var time = new Timer();
setTimeout(()=>console.log('s1:',time.s1),3100); //3
setTimeout(()=>console.log('s2:',time.s2),3100); //0