很抱歉,如果这是一个愚蠢的错误,我对JavaScript很新。
所以我在对象person
中有一个键 - 函数对(' sayHello'),它使用模板文字($ {})返回插值字符串。当我使用标准函数语法时,它工作正常。
let person = {
name: 'Ava',
sayHello () {
return `Hello, my name is ${this.name}.`;
}
};
console.log(person.sayHello());
// output: Hello, my name is Ava.
但是,当我使用带有箭头标记的箭头函数语法时,它会返回' name'值未定义。
let person = {
name: 'Ava',
sayHello: () => {
return `Hello, my name is ${this.name}.`;
}
};
console.log(person.sayHello());
// output: Hello, my name is undefined
有人知道这里的问题是什么,即使这只是我所做的语法错误吗?
感谢。
答案 0 :(得分:0)
箭头函数表达式最适合非方法函数。他们没有this
。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions#Description