1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(4,10): error TS2678: Type 'typeof Foo' is not comparable to type 'number'.
tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(5,10): error TS2678: Type '"sss"' is not comparable to type '0'.
tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(6,10): error TS2678: Type '123' is not comparable to type '0'.
tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(7,10): error TS2678: Type 'true' is not comparable to type '0'.
==== tests/cases/compiler/switchCasesExpressionTypeMismatch.ts (4 errors) ====
class Foo { }
switch (0) {
case Foo: break; // Error
~~~
!!! error TS2678: Type 'typeof Foo' is not comparable to type 'number'.
case "sss": break; // Error
~~~~~
!!! error TS2678: Type '"sss"' is not comparable to type '0'.
case 123: break; // Error
~~~
!!! error TS2678: Type '123' is not comparable to type '0'.
case true: break; // Error
~~~~
!!! error TS2678: Type 'true' is not comparable to type '0'.
}
var s: any = 0;
// No error for all
switch (s) {
case Foo: break;
case "sss": break;
case 123: break;
case true: break;
}
|