在 Typescript 中,类型循环错误似乎是任意的
这个递归类型定义被 Typescript 编译器接受。
type Recursive<T> = T & { prop: Recursive<T> };
我可以定义任意数量的属性,它会编译,但如果我需要所有可能的字符串属性递归定义,它就不会编译。
type Recursive<T> = T & { [prop: string]: Recursive<T> };
为什么会发生这种情况?有可能重写第二个定义使其起作用吗?
网站搜索
这个递归类型定义被 Typescript 编译器接受。
type Recursive<T> = T & { prop: Recursive<T> };
我可以定义任意数量的属性,它会编译,但如果我需要所有可能的字符串属性递归定义,它就不会编译。
type Recursive<T> = T & { [prop: string]: Recursive<T> };
为什么会发生这种情况?有可能重写第二个定义使其起作用吗?