我想知道是否可以将 enum
作为键分配给接口(interface)中的对象?
我写了下面的代码片段来测试是否可行。
export enum colorsEnum{
red,blue,green
}
export interface colorsInterface{
[colorsEnum.red]:boolean,
[colorsEnum.blue]:boolean,
[colorsEnum.green]:boolean
}
但是,当我运行代码片段时,出现错误并打印以下消息:
接口(interface)中的计算属性名称必须直接引用内置符号。
我做错了,还是根本不可能?
最佳答案
你可以尝试输入:
export enum colorsEnum{
red, blue, green
}
export type colorsInterface = {
[key in colorsEnum]: boolean;
};
let example: colorsInterface = {
[colorsEnum.red]: true,
[colorsEnum.blue]: false,
[colorsEnum.green]: true
};
或者如果您不想使用所有键:添加一个 ?
export type colorsInterface = {
[key in colorsEnum]?: boolean;
};
let example: colorsInterface = {
[colorsEnum.red]: true,
[colorsEnum.blue]: false
};
关于typescript - TypeScript 是否允许将枚举分配给接口(interface)的对象键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39701524/