【发布时间】:2020-07-06 16:44:13
【问题描述】:
我有这个设置
const { discard_me, ...rest } = some?.optional?.chaining;
我最终得到一个 discard_me 不存在的错误,但如果 chaining 也不存在,这是可以预料的。似乎可选链接应该涵盖分配的左侧和右侧的关注点。
有没有办法在不合并无效的情况下解决这个问题?
【问题讨论】:
-
添加
|| {}或?? {}有什么问题 -
因为应该/可以由可选链处理?
-
不是。这是两个独立的问题; RHS 解析为
some.optional.chaining或undefined,后者绝对不能被解构(前一个也许 也不能)。 -
答案很简单,
const { discard_me, ...rest } = some?.optional?.chaining || {}因为你不能解构undefined。这不会再抛出错误了。
标签: javascript optional-chaining nullish-coalescing