Typescript 如何基于变量从对象值获取类型
我有以下类型:Typescript 如何基于变量从对象值获取类型,typescript,Typescript,我有以下类型: type Core = { a: string b: number } 我希望能够获得其中一个实体的类型,以便在其他地方使用 伪代码: const c: <the type of Core.a> = 'hello' const c:='hello' 基本上我想要一个类型,它接受一个变量(a,在本例中为),然后从上面的对象返回值。看起来像您想要的那样。如果T是一种类型,而K是其一个键的类型(或此类类型的并集),则T[K]是该键的属性类型(或此类属性的并集)
type Core = {
a: string
b: number
}
我希望能够获得其中一个实体的类型,以便在其他地方使用
伪代码:
const c: <the type of Core.a> = 'hello'
const c:='hello'
基本上我想要一个类型,它接受一个变量(a,在本例中为
),然后从上面的对象返回值。看起来像您想要的那样。如果T
是一种类型,而K
是其一个键的类型(或此类类型的并集),则T[K]
是该键的属性类型(或此类属性的并集)。在您的例子中,T
是Core
,K
是“a”
:
请注意,查找类型仅支持括号表示法,T[“a”]
;即使键是字符串文字,也不能使用像t.a
这样的点表示法。(点表示法可能会导致名称空间/模块发生名称冲突;如果名称空间名为T
,该名称空间导出名为a
的类型,则T.a
是该类型的名称。)
好吧,希望这会有帮助;祝你好运
const c: Core["a"] = 'hello'; // okay