是否可以在TypeScript的接口之间强制使用相同的动态键?

时间:2018-08-28 18:44:34

标签: typescript

为接口MyInterface1提供一组动态键:

是否可以从MyInterface1中拉出密钥以用作MyInterface2中的密钥?

类似的东西:

export interface MyInterface1 {
    [key: string]: string
}

export interface MyInterface2 {
  [k in keyof MyInterface1]: string, // This line doesnt work :(
}

我在这里看到了一些类似的讨论:https://github.com/Microsoft/TypeScript/issues/5683#issuecomment-376505064

1 个答案:

答案 0 :(得分:1)

您需要声明类型别名,而不是接口:

export type MyInterface2 = {
  [k in keyof MyInterface1]: string
};