首页 > 解决方案 > 可以使用枚举来键入数组

问题描述

我想知道是否有办法使用枚举来描述数组可以包含的有效类型。我还没有找到一种方法来实现这一点,这可能吗?

这是我尝试过的示例:

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

解决方案


枚举可用于定义一组命名常量,Typescript 可以使用这些常量将参数限制为该枚举的值。

如果您想定义一组可能的类型,就像在您的第一个代码片段中一样,您应该使用联合,就像您在第二个代码片段中所做的那样。

https://www.typescriptlang.org/docs/handbook/enums.htm https://www.typescriptlang.org/docs/handbook/advanced-types.html#union-types


推荐阅读