在TypeScript中,枚举(enum)和对象(object)之间有什么区别?

16 浏览
0 Comments

在TypeScript中,枚举(enum)和对象(object)之间有什么区别?

我试图通过枚举访问地图的值,并为其中的所有字符串创建一个可翻译的应用程序。

这两个问题重叠在一起,我必须在使用枚举或仅使用JSON格式的对象之间做出决策。

那么枚举和对象之间的区别和用法到底是什么呢?

例如:

  • 我可以使用枚举来访问数组,并插入标签和其他内容

const enum FieldNames {
  FirstField: "字段一",
  SecondField: "字段二"
};
someFieldArray[FieldNames.FirstField].label = FieldNames.FirstField;
someFieldArray[FieldNames.SecondField].label = FieldNames.SecondField;

  • 或者我可以通过对象实现相同的行为

const FieldNames = {
  FirstField: "字段一",
  SecondField: "字段二"
};
someFieldArray[FieldNames.FirstField].label = FieldNames.FirstField;
someFieldArray[FieldNames.SecondField].label = FieldNames.SecondField;

我真的不明白为什么选择枚举而不是简单的对象会有什么好处。在我看来,对象有更多的好处而没有任何缺点。

0