我有一个函数,给定一个对象和一个查找映射或映射函数,它返回另一个具有如下映射的值的对象: function mapValues(object, mapping) {console.log(mapValues({foo: 1, bar: 2, baz: 3}, value => value + 1)); 如何输入此函数签名和重载
对于常规JS对象,我可以键入树(以空作为叶),如下所示: [key: string]: Tree | null;如何键入类似的结构,除非它使用ES6映射而不是对象(例如,当键可以是字符串以外的东西时,我就需要这样做)。换句话说,如何避免循环引用只能使用接口,而不是别名,并且不能有
type Tree = Map<string, Tree | null>