首页 > 解决方案 > 获取类型属性的类型

问题描述

我目前有一种从第三方提取的类型。我想获取该类型的属性的类型。打字稿。

例如


type GivenType = {
    prop: string;
}

type desiredType = <<getTypeOf GivenType.prop>>

desiredType === string // true;

我正在寻找实际的语法<<getTypeOf GivenType.prop>>

大多数情况下,我查看了 typescript 文档,发现提取类型通常作用于对象或接口。像这样的命令typeofreturnType

标签: typescripttypes

解决方案


您可以像这样获取属性的类型:

type SomePropertyType = SomeType["SomeProperty"];

这是一个“索引访问运算符”;此文档部分中有详细信息。

例如

// number
type LengthPropertyType = String["length"];

// () => number
type GetFullYearType = Date["getFullYear"];

type GivenType = {
    prop: string;
}

// string
type DesiredType = GivenType["prop"];

推荐阅读