【发布时间】:2021-09-05 13:45:04
【问题描述】:
我想在 TypeScript 中创建两种类型,它们都是数字:
export type GlobalPortIndex = number;
export type TypePortIndex = number;
据我了解,TypeScript 会认为这些是相互兼容的,因为它们完全重叠。
但我希望它们不兼容,所以当我键入 GlobalPortIndex 时,如果我尝试为其分配 TypePortIndex,我会收到类型错误。这是为了确保我不会在代码中混淆它们,例如我不能将一个传递给需要另一个的函数。
有什么 TypeScript 技巧可以实现这一点吗?
【问题讨论】:
-
您是否熟悉这里的艺术术语“nominal typing”,以及添加虚假非运行时属性作为“标签”或“品牌”的常见解决方案?
标签: typescript types typing