Typescript 如何获取Type.length
我试图获取类型的长度,但只需使用如下变量:Typescript 如何获取Type.length,typescript,Typescript,我试图获取类型的长度,但只需使用如下变量:consttesttypelength=4 我想知道是否可以用打字脚本: type Test = "T" | "e" | "s" | "t"; console.log(Test.length) 类型仅在编译类型中存在,并在编译过程中被擦除。因此,不能基于类型创建javascript值(TS中的指导原则之一是编译器不应执行任何类型定向发射,它只检查类型是否有效并擦除类型) 但是,您可以反过来,从值到类型。因此,您可以从一个数组开始,获得Test类
consttesttypelength=4代码>
我想知道是否可以用打字脚本:
type Test = "T" | "e" | "s" | "t";
console.log(Test.length)
类型仅在编译类型中存在,并在编译过程中被擦除。因此,不能基于类型创建javascript值(TS中的指导原则之一是编译器不应执行任何类型定向发射,它只检查类型是否有效并擦除类型)
但是,您可以反过来,从值到类型。因此,您可以从一个数组开始,获得Test
类型。使用该数组,您可以获得长度
或您需要的任何其他值:
const Test = ["T", "e", "s", "t"] as const
type Test = typeof Test[number]; // same as before ( type Test = "T" | "e" | "s" | "t") but extracted from the const
console.log(Test.length) // ok accesing the const Test
我想知道这会有什么实际应用。我不认为您真的希望在任何类型的生产代码中使用类型中的成员数量,尽管我认为这是统计数据的一些价值。