为什么界面无法扩展Record
interface Data {
a: string
}
Data extends Record<string, unknown> ? 'yes' : 'no' // 'no'
但是,如果我将数据更改为键入,则可以正常工作
type Data {
a: string
}
Data extends Record<string, unknown> ? 'yes' : 'no' // 'yes'
答案 0 :(得分:2)
type T = Record<string, unknown>
的值为{ [x: string]: unknown; }
对象类型具有implicit index signature,但接口没有(for safety reasons),因此它们不会扩展索引类型。