是否有带有可选链接/无效合并的糖来防止使用Array.map的类型错误?



是否有任何糖可以确保map不会使用可选链接/无效合并等工具键入错误?

let x = {y: 1, z: 2};
x?.map(i => i); // Typeerror
Array.isArray(x)?.map(i => i); // Typeerror
let y = '1234';
y?.length && y.map(i => i) // Typeerror

这些类型错误似乎是正确的。显然,您不能在对象文字、布尔值或字符串上调用 map。

如果你仍然想选择性地调用map,你可以继续可选的链接,?.(params)


let x = {y: 1, z: 2};
x?.map?.(i => i);
Array.isArray(x)?.map?.(i => i);
let y = '1234';
y?.length && y.map?.(i => i)

请记住,这仅检查名为map的属性是否存在且为非 null/未定义。如果它确实存在但不是函数,您仍然会收到错误。

相关内容

  • 没有找到相关文章

最新更新