TypeScript 中的递归映射类型
我不知道这是否可能,但我想知道你是否可以创建递归映射类型。我不知道这样是否有意义,所以让我试着解释一下我想做的事情。
我正在创建一个 Excel 解析器,它接收工作簿并返回一个类型 T。我想做的一件事是创建一个映射类型,将每个键映射到一个 string,该字符串将对应 Excel 单元格引用的形式(例如 'A5')。
我可以将每个键映射到一个字符串,如下所示:
{[P in keyof T]: string}
但是这也将复杂类型(对象和数组)映射为字符串,但我实际上也希望将这些复杂值的键映射为字符串。
有什么想法吗?
编辑:我开始觉得这不可能,因为像这样的东西需要被实现。
答案#1
你以前不能,但从 TypeScript 4.1 版本开始你现在可以了。现在支持条件递归类型