基本语法
- ( ) => { }
- 针对于小括号: 只有一个参数时,小括号可以省略, 没有参数或者有多个参数时,必须加上小括号
- 针对于大括号: 只有一行语句时,大括号可以省略, 有多行语句时,必须加上大括号
- 如果函数体之后一行,并且有return关键字时,如果省略了大括号,那么return也必须省略
- 如果要retrun,则必须写大括号
箭头函数中的this指向
- 使用箭头函数时,函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
- 箭头函数根本没有自己的this,它的this是继承外面的,
应用实例
class Animal {
constructor(){
this.type = 'animal'
}
says(say){
console.log(this); // 此处的this为Animal的实例化对象
setTimeout( () => {
// 此处如果不用箭头函数,则this指向Windo对象,使用了箭头函数,则this指向Animal的实例化对象
console.log(this.type + ' says ' + say);
}, 1000)
}
}
var animal = new Animal()
animal.says('hi') //animal says hi