箭頭函數(shù) 不能用來寫
對象方法
,因?yàn)樗帘瘟?code>this的詞法封閉環(huán)境, 在箭頭函數(shù)中的this
是當(dāng)前定義這個object所在的上下文
// `this` is here
var chopper = {
owner: 'Mary',
getOwner: () => {
return this.owner; // 此處的this指向當(dāng)前chopper對象所在的上下文
}
};
如果你想在object中定義方法苗踪,可以使用傳統(tǒng)函數(shù)語法或es6的簡寫
// 傳統(tǒng)函數(shù)語法
var chopper = {
owner: 'Mary',
getOwner: function() {
return this.owner;
}
};
// or es6 語法
var chopper = {
owner: 'Mary',
getOwner() {
return this.owner;
}
};
參考:
Method_definitions
methods-in-es6-objects-using-arrow-functions