【发布时间】:2020-04-17 10:01:22
【问题描述】:
有以下几种:
type TypeA = {
desc: string;
name: string;
}
type TypeB = {
desc: string;
name: string;
age: number;
}
type TypeC = {
desc: string;
name: string;
age: number;
gender: string;
}
type TypeAll = TypeA | TypeB | TypeC;
我搜索了解决方案,发现 Typeguard 是检查自定义类型的最优雅的方法。但是在所有示例中,它们都会过滤该类型的显式属性。喜欢:
isTypeC(type: TypeAll):type is TypeC {
return type.gender !== undefined
}
TypeA 或 TypeB 怎么写? 此外,类型可能会随着时间而改变(而不是在运行时!),这需要一个不检查显式属性的解决方案。这可能吗?
【问题讨论】:
标签: typescript types typeguards