TypeScript でいくつかの単体テストを書いています。QUnit テストの例には以下が含まれます。
ok( 1 == "1", "Passed!" );
コンパイラは次のtsc
ように主張しています。
演算子「==」は型「数値」および「文字列」には適用できません
ステータスとともに終了します1
(ただし、JS は正しく生成されます)。
仕様は次のように述べています。
<、>、<=、>=、==、!=、===、および !== 演算子
これらの演算子では、一方のオペランドの型がもう一方のオペランドの型と同一であるか、そのサブタイプである必要があります。結果は常に Boolean プリミティブ型になります。
したがって、警告/エラーは正しいようです。しかし、これは型強制演算子の要点をむしろ打ち負かしません==
か? この警告を生成しない==
TypeScript で使用するための有効なユースケースはありますか?