class One {
controls: { [key: string]: number };
}
interface Two<T> extends One {
controls: { [key in keyof T]: number }
}
我收到一个错误信息:
TS2430: 接口 'Two' 错误地扩展了接口 'One'。 属性 'controls' 的类型不兼容。 类型 '{ [key in keyof T]: number; }' 不能赋值给类型 '{ [key: string]: number; }'。
在 TypeScript Playground(点击此处)中,一切似乎都没问题。发生了什么?
TypeScript 版本:2.4.2