Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态更改TypeScript中枚举的值_Typescript_Dynamic_Enums - Fatal编程技术网

动态更改TypeScript中枚举的值

动态更改TypeScript中枚举的值,typescript,dynamic,enums,Typescript,Dynamic,Enums,请查看以下代码: // typescript enum example enum foo { ONE = 1, TWO = 2, THREE = 3 } 是否可以在运行时将1的值更改为0?如果是,怎么做?我认为typescript编译器不允许这样做。但是为什么要更改枚举?关键是要有命名的常量值。如果你想让他们改变,为什么不使用这样的东西: const foo = { ONE: 1, TWO: 2, THREE: 3 } 是否可以在运行时将1的值更改为0?如果是,如何进行 您始终可

请查看以下代码:

// typescript enum example
enum foo { ONE = 1, TWO = 2, THREE = 3 }

是否可以在运行时将1的值更改为0?如果是,怎么做?

我认为typescript编译器不允许这样做。但是为什么要更改
枚举
?关键是要有命名的常量值。如果你想让他们改变,为什么不使用这样的东西:

const foo = {
  ONE: 1,
  TWO: 2,
  THREE: 3
}
是否可以在运行时将1的值更改为0?如果是,如何进行

您始终可以使用类型断言:

更多:但我不推荐

为什么不先写下面的内容呢

enum foo { ONE = 0, TWO = 2, THREE = 3 }

如果您解释一下您的用例,这将非常有用。通常会特别选择
enum
,因为它是不可变的-即,您永远不会希望值发生更改,因为这会使您的应用程序不可预测。
enum foo { ONE = 0, TWO = 2, THREE = 3 }