以下在Typescript 2.3.5
上运行良好但在2.8.3
上不再有效。
class A {
variableA: string;
}
class B {
variableB: number;
}
class C {
variableC: boolean;
}
type TYPES = A | B | C;
function doStuff(types: TYPES) {
switch (types) {
case A: // error
break;
case B: // error
break;
case C: // error
break;
}
}
doStuff(A); // error
[TS] 类型A'的类型论证不能分配给' TYPES'类型的参数。 输入A'类型不能分配给' C'。 属性'变量C' A'类型'类型中缺少。
如何更改此结构以使其再次有效?
答案 0 :(得分:1)
/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';
类型指定A / B / C类的实例,而A
类型是A / B / C类本身。
应该是:
types