Javascript 解构一个可选的链接对象,以获得…剩余?

Javascript 解构一个可选的链接对象,以获得…剩余?,javascript,optional-chaining,nullish-coalescing,Javascript,Optional Chaining,Nullish Coalescing,我有这个设置 const{discard_me,…rest}=some?可选?链接; 我最终会出现一个错误,discard\u me不存在,但如果链接也不存在,则会出现该错误。看起来可选的链接应该涵盖任务左侧和右侧的关注点 有没有一种方法可以绕过这一点而不产生无效合并 似乎可选链接应该涵盖这两个方面的问题 作业的左侧和右侧 它没有,因为some?.optional?.chaining将解析为: 一些.可选.链接(可能未定义);或 未定义(当然是) 对于分解赋值,右边的必须是一个对象。添加|

我有这个设置

const{discard_me,…rest}=some?可选?链接;
我最终会出现一个错误,
discard\u me
不存在,但如果
链接也不存在,则会出现该错误。看起来可选的链接应该涵盖任务左侧和右侧的关注点

有没有一种方法可以绕过这一点而不产生无效合并

似乎可选链接应该涵盖这两个方面的问题 作业的左侧和右侧

它没有,因为
some?.optional?.chaining
将解析为:

  • 一些.可选.链接
    (可能未定义);或
  • 未定义
    (当然是)

对于分解赋值,右边的必须是一个对象。

添加
|{}
有什么不对??{}
因为这应该/可以由可选的链接处理吗?它不是。这是两个不同的问题;RHS解析为
some.optional.chaining
undefined
,后者肯定不能被分解(前者也可能不能)。这是否回答了您的问题?答案很简单,
const{discard_me,…rest}=some?.optional?.chaining{}
,因为您无法对
未定义的
进行解构。这将不再抛出错误。