代码似乎无法按预期工作 [重复]

the code doesn't seem to work as expected [duplicate]

提问人:Yassen Mohamed 提问时间:5/13/2023 最后编辑:Yassen Mohamed 更新时间:5/13/2023 访问量:40

问:

enter image description here

我正在学习 OOP Javascript 教程,讲师使用了我编写的相同代码,控制台中第一次打印的输出是你有折扣,第二次是你没有折扣,而当我使用它时,它打印了控制台中的两种打印都没有折扣

注意:我看过的视频是 2 年前发布的,所以我认为 javascript 中的这个关键字发生了一些我不知道的更新

我尝试了此代码,它打印了您在两种情况下都没有折扣

let obj = {
hasDiscount: true,
showMsg: () => `You${this.hasDiscount ? '' : " Don't"} Have Discount`
}

console.log(obj.showMsg())

let newOne = Object.create(obj);

newOne.hasDiscount = false;

console.log(newOne.showMsg())

javascript 哎呀 这个

评论

2赞 Kevin B 5/13/2023
我的意思是。。。您确定这是教程中的代码吗?或者你是否用你认为更现代的做法“更新”它
0赞 David Krell 5/13/2023
你能链接教程吗?
0赞 David Thomas 5/13/2023
"我认为这个关键词有一些更新......”- 对 JavaScript 的更新不会破坏现有功能(至少它们不打算这样做,而且我个人想不出更新破坏现有功能的例子)。
2赞 Kevin B 5/13/2023
此问题与您可能对代码进行的更新时引入的错误特别相关。箭头函数不是常规函数的替代品,它们实际上有其用途,并非在每个场景中都 1:1 有效。
0赞 Yassen Mohamed 5/13/2023
@KevinB你是对的,我已经用常规函数而不是箭头函数更新了代码,它和讲师一样工作得很好,这种情况是在特定情况下发生的非常罕见的场景之一,例如在箭头函数中,或者有许多场景在箭头函数和常规函数之间产生差异

答: 暂无答案