48 lines
777 B
JavaScript
48 lines
777 B
JavaScript
|
//// [switchCasesExpressionTypeMismatch.ts]
|
||
|
class Foo { }
|
||
|
|
||
|
switch (0) {
|
||
|
case Foo: break; // Error
|
||
|
case "sss": break; // Error
|
||
|
case 123: break; // No Error
|
||
|
case true: break; // Error
|
||
|
}
|
||
|
|
||
|
var s: any = 0;
|
||
|
|
||
|
// No error for all
|
||
|
switch (s) {
|
||
|
case Foo: break;
|
||
|
case "sss": break;
|
||
|
case 123: break;
|
||
|
case true: break;
|
||
|
}
|
||
|
|
||
|
//// [switchCasesExpressionTypeMismatch.js]
|
||
|
var Foo = (function () {
|
||
|
function Foo() {
|
||
|
}
|
||
|
return Foo;
|
||
|
})();
|
||
|
switch (0) {
|
||
|
case Foo:
|
||
|
break;
|
||
|
case "sss":
|
||
|
break;
|
||
|
case 123:
|
||
|
break;
|
||
|
case true:
|
||
|
break;
|
||
|
}
|
||
|
var s = 0;
|
||
|
switch (s) {
|
||
|
case Foo:
|
||
|
break;
|
||
|
case "sss":
|
||
|
break;
|
||
|
case 123:
|
||
|
break;
|
||
|
case true:
|
||
|
break;
|
||
|
}
|