typescript - 可以使用枚举来键入数组
问题描述
我想知道是否有办法使用枚举来描述数组可以包含的有效类型。我还没有找到一种方法来实现这一点,这可能吗?
这是我尝试过的示例:
interface User {
name: string;
}
interface Admin {
level: number;
}
enum Person {
User,
Admin,
}
const persons: Person[] = [
{ name: 'hello' },
{ level: 1 },
];
工会可能会发生类似的事情,只是为了澄清我想要实现的目标:
interface User {
name: string;
}
interface Admin {
level: number;
}
type Person = User | Admin;
const persons: Person[] = [
{ name: 'hello' },
{ level: 1 },
];
解决方案
枚举可用于定义一组命名常量,Typescript 可以使用这些常量将参数限制为该枚举的值。
如果您想定义一组可能的类型,就像在您的第一个代码片段中一样,您应该使用联合,就像您在第二个代码片段中所做的那样。
https://www.typescriptlang.org/docs/handbook/enums.htm https://www.typescriptlang.org/docs/handbook/advanced-types.html#union-types
推荐阅读
- scala - 如何增加嵌入式 kafka 的 RAM?
- c# - 如何从主控件绑定到子控件
- android - 如何在android中组合来自String对象的多个结果?
- php - PHP 注意:数组到字符串的转换;数据库工厂
- reactjs - 如何在 React Router Dom 的 useHistory 中发送参数?
- python-3.x - 如何从熊猫数据框中的列中删除不需要的文本
- c# - c# wpf treeviewitem with contextmenu
- python - 如何使用 scipy.ndimage.interpolate 在 3d 中随机旋转 numpy 数组?
- c# - 如何在 mvc 中访问 _layout.cshtml 中的单个视图?
- bash - 从 /etc/rc.local 运行的脚本问题