Typescript 'T' 不能用于索引类型?但是 T 是 "keyof" 目标类型
Typescript 'T' cannot be used to index type? But T is "keyof" target type
type foo = {
asd:""
}
interface FOOS<T = keyof foo> extends foo {
copy(key: T): foo[T]// error
}
Type 'T' cannot be used to index type 'foo'.
如何告诉打字稿这个 T 可以用作该类型的键?
您的泛型类型的 默认 为 keyof foo
,但有人仍然可以使用任何不相关的类型实例化它:FOOS<string>, FOOS<unknown>
等
尝试对 T
设置限制:
interface FOOS<T extends keyof foo= keyof foo> extends foo {
copy(key: T): foo[T]// error
}
type foo = {
asd:""
}
interface FOOS<T = keyof foo> extends foo {
copy(key: T): foo[T]// error
}
Type 'T' cannot be used to index type 'foo'.
如何告诉打字稿这个 T 可以用作该类型的键?
您的泛型类型的 默认 为 keyof foo
,但有人仍然可以使用任何不相关的类型实例化它:FOOS<string>, FOOS<unknown>
等
尝试对 T
设置限制:
interface FOOS<T extends keyof foo= keyof foo> extends foo {
copy(key: T): foo[T]// error
}