【发布时间】:2019-01-11 13:33:44
【问题描述】:
我正在尝试检查变量是否属于某种类型。
代码:
type GeneralType = SubTypeA | SubTypeB;
type SubTypeA = 'type1' | 'type2';
type SubTypeB = 'type3' | 'type4';
function someFunction(arg1: GeneralType) {
if (arg1 instanceof SubTypeA) {
// Do something
}
// Continue function
return arg1;
}
当然,此代码在第 6 行失败,因为 instanceof 不适用于类型。有没有我可以使用的替代选项,而无需明确检查SubTypeA 的每个可能值?
【问题讨论】:
-
也许this answer 有用
-
打字稿在 runetime 中不存在。您可以使用类而不是类型。但类型是纯 ts。没办法,这是不可能的。但是您可以使用一些判别式创建类型,然后在此判别式上使用 switch case,打字稿将能够缩小当前类型
标签: typescript types instanceof