JS解构.如何处理null或undefined值

xur*_*d29 7 javascript ecmascript-6

如何在实现Nullable功能?我需要支持我以前的同事的源代码,他使用了过多的解构功能.像这样的东西,每个地方:

dispatch(
    loadImports(response.items.map(({ importRecord: { ['import']: importId } }) => importId))
)
Run Code Online (Sandbox Code Playgroud)

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

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

UPD:

同事的预期版本:https: //jsbin.com/fesewiy/edit?js,console

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

gue*_*314 0

您可以将默认参数的值设置为普通对象,使用OR运算符返回importIdnull

arr.map(({ importRecord: { ['import']: importId } = {}}) => importId || null)
Run Code Online (Sandbox Code Playgroud)