【发布时间】:2021-09-18 16:12:56
【问题描述】:
我想在 TypeScript 中打印出一个类型的所有类型的属性。例如,我想记录AddressWithUnit 有哪些属性以及属性的类型。在下面的代码中,手动检查它可能很简单。但是,如果一个类型与多个类型组合在一起,手动检查可能会很复杂。
type BasicAddress = {
name?: string;
street: string;
city: string;
country: string;
postalCode: string;
}
interface AddressWithUnit extends BasicAddress {
unit: string;
}
【问题讨论】:
-
接口(以及类型系统的其余部分)在运行时不存在。您不能在运行时对编译时构造进行动态查找。
-
正如@VLAZ 所说,这是不可能的。您可以创建一个抽象类来反映您的类型别名,但是如果您需要在运行时引用类型。
-
那么我将如何在编译时检查它?只要我能检查类型,这对我有好处。
标签: typescript types interface