Javascript `当使用箭头函数时,在开发工具中未定义此值

Javascript `当使用箭头函数时,在开发工具中未定义此值,javascript,typescript,webpack,arrow-functions,Javascript,Typescript,Webpack,Arrow Functions,我正在使用arrow函数,并且正在使用Chrome和Firefox开发工具进行调试。我发现,这个是未定义的,即使代码仍然有效 例如:当在以下断点上暂停时,我在控制台中键入this,它将显示undefined,即使console.log显示正确的this: A类{ f=()=>{ 调试器; console.log(this); }; } 新的A().f(); 我的假设是,它与源地图有关 以下是我用来构建my代码的工具: 网页包(devtool:eval) 巴别塔装载机(es5预设) 类型脚本加

我正在使用arrow函数,并且正在使用Chrome和Firefox开发工具进行调试。我发现,
这个
是未定义的,即使代码仍然有效

例如:当在以下断点上暂停时,我在控制台中键入
this
,它将显示
undefined
,即使
console.log
显示正确的
this

A类{
f=()=>{
调试器;
console.log(this);
};
}
新的A().f();
我的假设是,它与源地图有关

以下是我用来构建my代码的工具:

  • 网页包(devtool:eval)
  • 巴别塔装载机(es5预设)
  • 类型脚本加载器

问题在于chrome调试器认为源代码中的
this
指的是运行时
this
,但typescript源代码中箭头函数中的
this
实际上被转换为
\u this
,因此它向您显示了错误的对象


这就是为什么它只是调试器中的一个问题,代码仍然可以正常工作。当我需要调试出现问题的东西时,我只需将其复制到控制台并在其前面加下划线。

这可能是一个问题,因为JS arrow函数没有
this
,this的值可能引用了包含arrow函数的对象,根据和

复制此问题的简单代码示例将不胜感激。我收到了相同的问题-我发誓它曾经起作用。你有没有追根究底?我有一些代码来重现这些问题,比如《从2015年开始》这本书仍然是开放的。哇,这本书在哪里被记录下来了,我不知道我猜不仅仅是在TypeScriptp中:巴贝尔也有同样的问题和同样的解决方案