Ich habe einige Komponententests in TypeScript geschrieben. Das Beispiel QUnit Test enthält:Double Equals (==) in TypeScript
ok(1 == "1", "Passed!");
Der tsc
Compiler behauptet, dass:
Operator '==' kann nicht auf Typen 'Zahl' und 'String'
und Ausfahrten angewendet werden mit Status 1
(obwohl es die JS korrekt produziert).
Die Spezifikation sagt:!
Die <,>, < =,> =, ==, = === und == Operatoren
Diese Operatoren ein Operandtyp erfordern identisch oder ein Subtyp des anderen Operandentyps sein. Das Ergebnis ist immer vom booleschen primitiven Typ.
So sieht es aus wie die Warnung/der Fehler ist richtig. Bezwingt das nicht den Punkt des Typs, der den Operator ==
erzwingt? Gibt es jemals einen gültigen Anwendungsfall für die Verwendung von ==
in TypeScript, die nicht diese Warnung erzeugen?