在类型或界面中混合动态和静态对象键



我需要这样的东西:

interface IMyInterface {
Payload?: object;
[key: string]: boolean | string | number | Date;
}

但是上面的代码给了我以下错误

类型为"Object | undefined"的属性"Payload"不可分配给字符串索引类型"string | number | boolean | Date"。

有没有办法通过interfacetype实现我想要的类型?

在您的示例中:IMyInterface:[key: string]: boolean | string | number | Date;定义中的第二行表示,所有字段的类型都是boolean | string | number | Date

通过使用并集类型,您可以定义的是:

type MyType =
{[key : string]: boolean | string | number | Date} & { Payload?: object}

最新更新