首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >常量映射的术语

常量映射的术语
EN

Software Engineering用户
提问于 2021-10-05 21:41:09
回答 1查看 59关注 0票数 1

考虑到字符串常量的映射,最常见的情况是键和值相等,例如在TypeScript中:

代码语言:javascript
运行
复制
const itemTypes = {
  FOO_BAR: 'FOO_BAR',
  BAZ_QUX: 'BAZ_QUX',
} as const;

它们应该与指定的域(项类型)一起使用,并可以在itemTypes上作为键使用,以确保编译和运行时类型的安全性。

我未能为这些常量映射的问题寻找特定的与代码相关的解决方案,因为这个名称描述性不够,而"enum“是一个相关的概念,但主要用于整数值。

我想知道它是否有一个传统的术语。

EN

回答 1

Software Engineering用户

发布于 2021-10-05 23:04:13

在大多数编程语言中,您要寻找的术语是“枚举类型”或简单的"enum“。

直接引用维基百科文章这个术语:

在计算机编程中,枚举类型(在R编程语言中也称为枚举、枚举或因子,以及统计信息中的分类变量)是由一组命名值组成的数据类型,称为元素、成员、枚举数或枚举数。枚举数名称通常是在语言中表现为常量的标识符。

像C#这样的语言在声明它们时清楚地说明了这一点:

代码语言:javascript
运行
复制
public enum CardSuit {
    None = 0,
    Spades = 1,
    Clubs = 2,
    Diamonds = 3,
    Hearts = 4
}

请记住,并非所有语言都支持具有值的枚举类型,有些语言只支持特定的值类型,如整数。JavaScript会这样做(这就是TypeScript支持它的原因),但是例如,您的代码片段在C#中是无效的,需要编写为:

代码语言:javascript
运行
复制
public enum ItemTypes {
    FooBar,
    BazQux
}

此外,JavaScriptTypeScript支持枚举类型值的任何类型;例如,在TypeScript中:

代码语言:javascript
运行
复制
const itemTypes = {
  FOO_BAR: {
      FOO: 'FOO',
      BAR: 'BAR'
  },
  BAZ_QUX: 'BAZ_QUX',
} as const;

这和你的例子一样有效。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/432465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档