我有以下代码:
const foo = <Key extends keyof any, Value>() {
type Rec = Record<Key, Value>
const a: Rec = {}
}
Run Code Online (Sandbox Code Playgroud)
在第三行打字稿给出了一个错误Type '{}' is not assignable to type 'Record<Key, Value>。为什么会发生这种情况?
在我的例子中,通用参数是string,可以将空对象分配给Record<string, unknown>.
它不接受的原因{}是Key参数可以是具体的字符串联合类型,例如'prop1' | 'prop2'. 在这种情况下,用户被迫将这些属性添加到对象中
| 归档时间: |
|
| 查看次数: |
12810 次 |
| 最近记录: |