【发布时间】:2015-07-15 09:37:12
【问题描述】:
考虑以下代码:
class Person{
firstname = ko.observable<string>();
lastname: ko.observable<string>();
fullname = ko.computed(()=>{
// Breakpoint here
return this.firstname() + ' ' + this.lastname();
});
当我使用 Visual Studio 2013 进行调试时,如果我设置断点并使用监视或即时窗口查看 this 的值,则表明该值是 window 而不是人员实例。因此,它会为this.firstname 显示undefined。
检查转换后的 JavaScript 代码我发现我应该检查 _this 的值而不是 this。
虽然代码运行没有错误,但是我浪费了很多时间来理解this变量的真实值可以通过_this获得。
问题我在使用类属性时是否有错误导致this 值中出现这种误导性值?或者它只是一个错误?或者可能是出于某种原因设计的?
【问题讨论】:
-
@Bergi 这个问题不是重复的问题。这个问题是 4 年前提出的,而您提到的问题是 3 年前提出的。因此,如果有重复的问题,则该问题应视为重复!
-
是的,它们是相互重复的。你没有做错任何事,你的问题被关闭并不意味着对你有任何伤害。我选择了另一个问题作为规范问题,因为它没有特定于淘汰赛的代码。
标签: javascript visual-studio visual-studio-2013 typescript typescript1.4