当我将箭头函数用于对象时,我不知道为什么会收到错误消息“ this.getName不是函数”。当我使用普通功能时,输出是好的。
具有正常功能的对象。一切都很好。
var person = {
name: 'Juan',
lastname : 'Rodríguez',
getName: function() {
return this.name;
},
getLastname: function() {
return this.lastname;
},
fullname:function () {
return this.getName() + " " + this.getLastname()
}
}
console.log(person.fullname()); // good output Juan Rodríguez
但是使用箭头函数()=>时,出现错误,因为“ this.getName不是函数”
var person = {
name: 'Juan',
lastname : 'Rodríguez',
getName: () => {
return this.name;
},
getLastname: () => {
return this.lastname;
},
fullname: () => {
return this.getName() + " " + this.getLastname()
}
}
console.log(person.fullname()); // bad output this.getName is not a function
有什么解决方法可以防止我出错?如果我想使用箭头功能?