2016-05-12 16 views
2

Ich verwende Pfeilfunktionen und debugge mit dem Chrome und Firefox Dev Tool. Ich bekomme, this als undefiniert, obwohl der Code immer noch funktioniert.Das wird bei der Verwendung der Pfeilfunktion als undefiniert angezeigt

Meine Annahme ist, dass es etwas mit Quellkarten zu tun hat.

Hier sind die Werkzeuge, die ich verwenden, um die meinen Code zu bauen:

  • webpack (DevTool: eval)
  • babel-loader (ES5 Preset)
  • Typoskript-loader
+0

Ein einfaches Codebeispiel zur Reproduktion dieses Problems wird sehr zu schätzen wissen. –

+0

Ich bekomme das gleiche Problem - ich schwöre es _used_ zu arbeiten. Bist du jemals auf den Grund gegangen? Ich habe etwas Code, um das Problem zu reproduzieren – WickyNilliams

Antwort

7

Das Problem ist, dass der Chrom-Debugger glaubt, dass die this im Quellcode bezieht sich auf die Rune-Time this, aber this innerhalb einer Pfeil-Funktion in Typ Escript Quellcode wird tatsächlich in _this umgewandelt, so zeigt es Ihnen das falsche Objekt.

Deshalb ist es nur ein Problem im Debugger und der Code funktioniert immer noch gut. Wenn ich etwas debuggen muss, wo das ein Problem ist, kopiere ich es einfach auf die Konsole und füge es mit einem Unterstrich voran.

+0

Wow, wo ist das dokumentiert, hatte ich keine Ahnung – chrismarx

Verwandte Themen