如何在TypeScript中获取已声明类型的值?

3

我有一个愚蠢的问题。假设我声明了一个 type,如下:

type CardType = 'InformationCard'

有没有办法将CardType用作值?例如:

console.log(CardType)

1
没有类型存在于运行时。 - Bergi
1
这不是一个愚蠢的问题,但这是不可能的。类型声明在运行时不存在,所以你获取值的唯一方法是将其赋值给变量并记录该变量。这可能有重复,但我很盲所以... :) - Cuzy
1
你可以反过来做 https://www.typescriptlang.org/play?#code/MYewdgzgLgBMCGAnAJjAvDA5ASTAMxEQFt4oBLcAYSWUwCgoBPABwFMZqUAVF9jJtiDxwaQA - Konrad
1
遗憾的是,类型在运行时不存在,因此将值分配给变量或常量应该是正确的方式。 - AztecCodes
1个回答

1

很遗憾,类型在运行时并不确定,因为TypeScript类型只是用于向JavaScript添加类型安全性。代码在linting期间根据其预期的类型进行检查,并在项目打包成JavaScript时被丢弃。因此,这在TypeScript中实际上是不可能的。

相反,您可以创建一个具有“类型”字段的对象,然后根据类型获取值;

const myCard = { cardType: "InformationCard" } 
console.log(myCard.cardType);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接