考虑到字符串常量的映射,最常见的情况是键和值相等,例如在TypeScript中:
const itemTypes = {
FOO_BAR: 'FOO_BAR',
BAZ_QUX: 'BAZ_QUX',
} as const;它们应该与指定的域(项类型)一起使用,并可以在itemTypes上作为键使用,以确保编译和运行时类型的安全性。
我未能为这些常量映射的问题寻找特定的与代码相关的解决方案,因为这个名称描述性不够,而"enum“是一个相关的概念,但主要用于整数值。
我想知道它是否有一个传统的术语。
发布于 2021-10-05 23:04:13
在大多数编程语言中,您要寻找的术语是“枚举类型”或简单的"enum“。
直接引用维基百科文章这个术语:
在计算机编程中,枚举类型(在R编程语言中也称为枚举、枚举或因子,以及统计信息中的分类变量)是由一组命名值组成的数据类型,称为元素、成员、枚举数或枚举数。枚举数名称通常是在语言中表现为常量的标识符。
像C#这样的语言在声明它们时清楚地说明了这一点:
public enum CardSuit {
None = 0,
Spades = 1,
Clubs = 2,
Diamonds = 3,
Hearts = 4
}请记住,并非所有语言都支持具有值的枚举类型,有些语言只支持特定的值类型,如整数。JavaScript会这样做(这就是TypeScript支持它的原因),但是例如,您的代码片段在C#中是无效的,需要编写为:
public enum ItemTypes {
FooBar,
BazQux
}此外,JavaScript和TypeScript支持枚举类型值的任何类型;例如,在TypeScript中:
const itemTypes = {
FOO_BAR: {
FOO: 'FOO',
BAR: 'BAR'
},
BAZ_QUX: 'BAZ_QUX',
} as const;这和你的例子一样有效。
https://softwareengineering.stackexchange.com/questions/432465
复制相似问题