TypeScript:将文字字符串类型定义转换为字符串值(如typeof运算符),反之亦然?

时间:2019-02-15 12:54:12

标签: string typescript types const

我想访问字符串文字类型的字符串值,类似于C#中的typeof运算符,否则我必须定义两次...

myStringLiteral: 'STRING TYPE';

myString:string = typeof(myStringLiteral); // Want myString = 'STRING TYPE'...

或者,如果可能相反:

const myString:string =  'STRING TYPE';

myStringLiteral: myString;

1 个答案:

答案 0 :(得分:2)

您不必使用显式类型注释来让编译器推断常量的字符串文字类型(或手动指定字符串文字类型,而不是string)。

如果您正确键入了myString常量,则可以使用typeof在类型注释或类型定义中获取常量的类型:

const myString = 'STRING TYPE'; // typed as 'STRING TYPE'

type myStringLiteral = typeof myString; // myStringLiteral is 'STRING TYPE'

let otherVar: typeof myString;