typescript - 如何选择属于联合的内部类型
问题描述
Type['fieldName']
在 Typescript 中选择内部类型(但是我不知道如何选择那些内部类型而不给它们作为联合的一部分时的唯一名称
是否有可能找出?
下面片段中的值以获取注释中的类型?
type A = {
b:
| {
c: boolean;
}
| {
d: number;
}
| null
| undefined;
};
type Conly = A["b"][?] // { c: boolean }
type Donly = A["b"][?] // { d: number }
type CorD = A["b"][?]; // { c: boolean } | { d: number }
解决方案
您可以使用内置的条件辅助类型,即Extract和NonNullable:
type Conly = Extract<A["b"], Record<"c", any>> // { c: boolean }
type Donly = Extract<A["b"], Record<"d", any>> // { d: number }
type CorD = NonNullable<A["b"]>; // { c: boolean } | { d: number }
推荐阅读
- javascript - agm 方向构建类型 r 错误
- ios - UIViewController 之外的当前位置
- ios - 在 iOS 重定向对话框中,IdentityProvider 的名称是“(null)”
- django - Django 用户模型问题
- excel - 使用 Python 在 excel 中创建漂亮的表格
- java - Hibernate 存储过程 - 不知道是否支持 REF_CURSOR 参数
- c - 为什么我的 C 应用程序中的内存使用存在差异?
- python - 如何在类内的函数内调用函数?
- android - 在加载列表视图之前更改 ListView TextView 字符串/文本
- java - 函数对象的内部类中的变量/对象会发生什么?