Den Typ von 'this' in einer Typoskript-Funktion deklarieren?

8

Ich schreibe eine Grunt-Aufgabe in TypeScript. Ich versuche etwas zu übersetzen, das ich bereits in JavaScript habe.

Wenn also grunt eine Aufgabe ausführt, wird eine Funktion ausgeführt. Wenn es ausgeführt wird, setzt grunt this auf ein Objekt mit nützlichen Eigenschaften, genauso wie jQuery this mit dem Element überlädt, an dem Sie gerade arbeiten. Ich könnte auf nützliche Eigenschaften wie this.files ;

zugreifen %Vor%

Also, "lösche alle Dateien in this.files ".

In TypeScript weiß ich jedoch nicht, ob Sie dem Compiler "Hinweise" geben können, dass this ein bestimmter Typ ist, sodass ich kein Intellisense bekomme. Wie kann ich TypeScript mitteilen, dass this ein anderer Typ ist?

    
Steve Cooper 07.03.2015, 22:24
quelle

5 Antworten

2
  

Wie kann ich TypeScript mitteilen, dass dies ein anderer Typ ist?

Es gibt noch keine dedizierte Syntax dafür, aber es gibt Gespräche darüber: Ссылка

Was Sie bisher getan haben, ist effektiv die einzige Möglichkeit, obwohl ich keine -Assistenz verwenden und nur eine Typ-Anmerkung verwenden würde:

%Vor%     
basarat 07.03.2015, 22:41
quelle
9

Nun (ab TS 2.0) können Sie den this -Typ der Funktion angeben, indem Sie diesen Parameter vortäuschen (sollte der erste sein):

%Vor%     
Aleksey L. 28.12.2016 08:45
quelle
2

Diese Funktion ist jetzt in TS 2.0 verfügbar. Siehe Ссылка .

    
user663031 13.04.2017 08:46
quelle
0

Ich habe ein bisschen eine Antwort. Ich kann das tun;

%Vor%

was funktioniert, OK. Das wird Konsequenzen haben, wie zB dass man keine Pfeilfunktionen schreiben kann ...

    
Steve Cooper 07.03.2015 22:27
quelle
0

Während ich das gefunden habe, ist das nun möglich mit:

%Vor%

Ich bin gekommen, eine Alternative zu bevorzugen, die Immobilien in der Argumentlinie nicht aufnimmt

%Vor%     
Jason Allan 02.02.2018 16:29
quelle

Tags und Links