TypeScript: ungültiger Rückgabetyp in einen beliebigen Typ konvertiert?
Ich kann anscheinend nicht nachvollziehen, warum der folgende Code keinen Fehler auslöst:
var rg: {(): void;}[] = [];
rg.push(function():string {return "";})
Ich sage klar, dass der Typ ein Array von Funktionen sein sollte, die zurückkehrenvoid
Ich drücke dort jedoch eine Funktion, die a zurückgibtstring
und doch beschwert sich der Compiler nicht. Wenn ich die Definition von ändererg
zu
var rg: {():number;}[] = [];
Der Compiler fängt an sich zu beschweren.
Ist dies ein Fehler oder ist es, wie der Rückgabetyp "void" funktionieren soll (d. H. Alles, was geht, wennvoid
wird verwendet, was im Grunde genommen dem Rückgabetyp entsprichtany
)?