JS 解构。如何处理空值或未定义值

2024-02-29

如何实现 Nullable 特性es6 /questions/tagged/es6?我需要支持我以前同事的源代码,他使用了太多的解构功能es6 /questions/tagged/es6。到处都是这样的:

dispatch(
    loadImports(response.items.map(({ importRecord: { ['import']: importId } }) => importId))
)

在这个例子中,我可能会得到TypeError: Cannot read property 'import' of null error.

我不想将整个解构重写为常规条件。或者如果没有,如何处理它们而不重写?

UPD:

同事期望的版本:https://jsbin.com/fesewiy/edit?js,控制台 https://jsbin.com/fesewiy/edit?js,console

当前版本:https://jsbin.com/qirixil/edit?js,控制台 https://jsbin.com/qirixil/edit?js,console


因为您使用的是地图,所以您需要为每个项目获取一些结果。 更改最少的最佳解决方案是仅使用一级解构,然后过滤数组以保留非虚假值的数组。

dispatch(
    loadImports(response.items
        .map(({ importRecord }) => importRecord && importRecord.import)
        .filter(v => v)
))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS 解构。如何处理空值或未定义值 的相关文章

随机推荐