基本語法
- ( ) => { }
- 針對于小括號: 只有一個參數(shù)時隅忿,小括號可以省略, 沒有參數(shù)或者有多個參數(shù)時撬腾,必須加上小括號
- 針對于大括號: 只有一行語句時继低,大括號可以省略, 有多行語句時扣甲,必須加上大括號
- 如果函數(shù)體之后一行徊件,并且有return關(guān)鍵字時郎笆,如果省略了大括號,那么return也必須省略
- 如果要retrun,則必須寫大括號
箭頭函數(shù)中的this指向
- 使用箭頭函數(shù)時澈吨,函數(shù)體內(nèi)的this對象,就是定義時所在的對象寄摆,而不是使用時所在的對象谅辣。
- 箭頭函數(shù)根本沒有自己的this,它的this是繼承外面的婶恼,
應(yīng)用實(shí)例
class Animal {
constructor(){
this.type = 'animal'
}
says(say){
console.log(this); // 此處的this為Animal的實(shí)例化對象
setTimeout( () => {
// 此處如果不用箭頭函數(shù)桑阶,則this指向Windo對象柏副,使用了箭頭函數(shù),則this指向Animal的實(shí)例化對象
console.log(this.type + ' says ' + say);
}, 1000)
}
}
var animal = new Animal()
animal.says('hi') //animal says hi