Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 如何基于变量从对象值获取类型_Typescript - Fatal编程技术网

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