【发布时间】:2020-10-06 15:47:15
【问题描述】:
我想从SOME_OBJECT 中提取string 属性并将其作为联合类型。因此,在下面的示例中,我希望 STRING_KEYS 的类型为 "title" | "label"
interface SOME_OBJECT {
title: string,
label: string,
someBool: boolean,
someDate: Date,
someNumber: number
}
type ExtractString<T> = keyof T extends string ? keyof T : never;
type STRING_KEYS = ExtractString<SOME_OBJECT> // <----- THIS SHOULD BE "title" | "label"
这就是我得到的:
我认为我在这里的方向是正确的(通过使用条件类型),但我还没有安静下来。实现这一目标的最佳方法是什么?
【问题讨论】:
标签: typescript typescript-typings conditional-types