什么时候传递给ImmutableJS Map的map()方法的mapper方法参数的键或值将永远不确定?

时间:2018-11-06 22:05:17

标签: typescript immutable.js

我正在使用带有TypeScript的ImmutableJS Map类型。如果我尝试在Map上调用map()方法,则即使我不允许在K或V中使用undefined,映射器方法所需的参数类型也必须接受“ undefined”。

例如这不起作用:

const myMap: Immutable.Map<string, string>;

myMap.map((value: string) => { ... });

因为打字稿编译器抱怨“未定义不能分配给类型字符串”。确实,如果我查看类型文件中map()方法的定义,它的定义如下:

map<M>(
  mapper: (value?: V, key?: K, iter?: /*this*/Iterable<K, V>) => M,
  context?: any
): /*this*/Iterable<K, M>;

为什么值和键带有问号?换句话说,在什么情况下,如果我在Map声明中不允许我的mapper函数传递这些参数之一的“未定义”?

谢谢!

0 个答案:

没有答案
相关问题