2016-05-12 33 views
2

我正在使用箭頭函數,並且正在使用Chrome和Firefox Dev Tool進行調試。儘管代碼仍然有效,但我得到的this未定義。使用箭頭函數獲取此爲undefined

我的假設是,它與源地圖有關。

下面是我爲了建立我的代碼使用的工具:

  • 的WebPack(devtool:EVAL)
  • 巴貝爾裝載機(ES5預設)
  • 打字稿裝載機
+0

重現此問題的簡單代碼示例將不勝感激。 –

+0

我得到同樣的問題 - 我發誓它_used_工作。你有沒有深究它的底部?我有一些代碼來重現問題 – WickyNilliams

回答

7

問題是,chrome調試器認爲源代碼中的this指的是符號時間this,但this內部的箭頭函數爲typ escript源代碼實際上被轉換爲_this,所以它會向您顯示錯誤的對象。

這就是爲什麼它只是調試器中的一個問題,代碼仍能正常工作。當我需要調試某些問題時,我只需將它複製到控制檯,並用下劃線加上。

+0

哇,這是記錄在案,我不知道 – chrismarx