如何处理对可能未定义的数据的调用函数?

如何处理对可能未定义的数据的调用函数?,第1张

如何处理对可能未定义的数据的调用函数?

使用map之前检查数组

arr && arr.map()

要么,

arr && arr.length && arr.map() // if you want to map only if not empty array

要么,

我们甚至可以这样使用(如devserkan所评论):

(arr || []).map()

根据您的评论:

我希望有一个像C#(arr?.map())这样的安全导航运算符

是的,显然。这在Javascript中被称为可选链接,目前仍在提议中。如果被接受,则可以这样使用:

arr?.map()

您可以在阶段1中看到它,可以在其中使用babel预设stage1


但是很明显,除了检查数组的长度,您的要求将无法满足:

这将导致错误,因为,当然,数组的第一个索引是未定义的。

因此,我建议您使用:

arr && arr.length && arr.map()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存