首页 > 解决方案 > 如何使用打字稿将计算值分配给枚举

问题描述

我想为枚举类型赋值。注意:text 和 text1 实际上来自不同的文件。

const text = "sample text";
const text1 = "Sample text";

const enum textDisplay{
  text = text;
  text1 = text1;
}

标签: javascripttypescriptenums

解决方案


这不是枚举的工作方式,您不能为枚举分配动态值,在具有字符串值成员的枚举中不允许​​计算值。

https://www.typescriptlang.org/docs/handbook/enums.html

枚举成员使用常量枚举表达式进行初始化。常量枚举表达式是可以在编译时完全评估的 TypeScript 表达式的子集。一个表达式是一个常量枚举表达式,如果它是:

  • 文字枚举表达式(基本上是字符串文字或数字文字)

  • 对先前定义的常量枚举成员的引用(可以源自不同的枚举)

  • 带括号的常量枚举表达式

  • 应用于常量枚举表达式的 +、-、~ 一元运算符之一 +、-、*、/、%、<<、>>、>>>、&、|、^ 以常量枚举表达式作为操作数的二元运算符


推荐阅读