原文: https://howtodoinjava.com/typescript/string-literal-types/

在 TypeScript 中,字符串字面值可让您指定string在其生命周期中必须具有的确切值。 您可以将其假定为“基于字符串的枚举”的形式,也称为string常量组。

语法

在允许的不同string值之间使用“竖线”符号。

  1. type myVar = "value1" | "value2" | "value3" | "value4"; //upto N values
  2. //For example
  3. type AppStatus = "ACTIVE" | "INACTIVE" | "ONHOLD";

字符串字面值类型示例

让我们看看如何使用string字面值,以及如何无法使用。

  1. 变量赋值


您只能将允许的值分配给字面值类型变量。 否则将是编译时错误

  1. type AppStatus = "ACTIVE" | "INACTIVE" | "ONHOLD";
  2. let currStatus: AppStatus;
  3. currStatus = "ACTIVE"; //OK
  4. currStatus = "DELETED"; //Error - Type '"DELETED"' is not
  5. //assignable to type 'AppStatus'
  1. 函数参数


您只能将允许的值传递给字面值类型参数。 否则将是编译时错误

  1. type AppStatus = "ACTIVE" | "INACTIVE" | "ONHOLD";
  2. function showMe(currentStatus: AppStatus): void {
  3. console.log(currentStatus);
  4. }
  5. showMe('ACTIVE'); //OK - Print 'ACTIVE'
  6. showMe('DELETED'); //Compile time Error

将我的问题放在评论部分。

学习愉快!