首页 > 解决方案 > 从打字稿中的类型常量中提取值

问题描述

给定以下类型定义,有没有办法从类型中提取常量值?

type Dummy = {
  type: "dummy"
}

就像是Extract<Dummy["type"]>

标签: typescript

解决方案


不,类型会在编译时从您的源代码中删除,因此没有什么可以从中提取值。

但是,您可以从常量中获取类型。

const dummy = { type: "Dummy" } as const
// `as const` get `{ type: "Dummy" }` instead of `{ type: string }`
type Dummy = typeof dummy

推荐阅读