使用箭头功能时将其定义为未定义

问题描述 投票:5回答:1

我正在使用箭头功能,我正在使用Chrome和Firefox Dev Tool进行调试。我得到了,this未定义,即使代码仍然有效。

我的假设是,它与源映射有关。

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

  • webpack(devtool:eval)
  • babel-loader(es5预设)
  • 打字稿装载机
javascript typescript webpack arrow-functions
1个回答
15
投票

问题是chrome调试器认为源代码中的this引用符文时间this,但是在typescript源代码中的箭头函数内的this实际上转换为_this,因此它向您显示错误的对象。

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

© www.soinside.com 2019 - 2024. All rights reserved.