在访问功能或箭头函数内的值时,代码给出以下错误:
未捕获的ReferenceError:未定义诉讼 在Object.toString(VM378 script.js:4) 在VM429 script.js:7
let card = {
suit : "Spades",
value : "Queen",
toString : () => suit + " of " + card
};
console.log(card.toString());
答案 0 :(得分:1)
在这种情况下,您必须使用card
变量,如下所示:
let card = {
suit : "Spades",
value : "Queen",
toString : () => card.suit + " of " + card.value
};
console.log(card.toString());
之所以会发生这种情况,是因为箭头功能将采用当前上下文(this
),而您将无法执行this.suit
。但是,如果使用function
语法,则可以执行以下操作:
let card = {
suit : "Spades",
value : "Queen",
toString : function () { return this.suit + " of " + this.value }
};
console.log(card.toString());