【问题标题】:Destructuring an optionally chained object, to get the ...rest?解构一个可选的链接对象,以获得......其余的?
【发布时间】:2020-07-06 16:44:13
【问题描述】:

我有这个设置

const { discard_me, ...rest } = some?.optional?.chaining;

我最终得到一个 discard_me 不存在的错误,但如果 chaining 也不存在,这是可以预料的。似乎可选链接应该涵盖分配的左侧和右侧的关注点。

有没有办法在不合并无效的情况下解决这个问题?

【问题讨论】:

  • 添加|| {}?? {}有什么问题
  • 因为应该/可以由可选链处理?
  • 不是。这是两个独立的问题; RHS 解析为some.optional.chainingundefined,后者绝对不能被解构(前一个也许 也不能)。
  • 答案很简单,const { discard_me, ...rest } = some?.optional?.chaining || {} 因为你不能解构undefined。这不会再抛出错误了。

标签: javascript optional-chaining nullish-coalescing


【解决方案1】:

似乎可选链接应该涵盖两者的关注点 作业的左侧和右侧。

没有,因为some?.optional?.chaining 要么解析为:

  • some.optional.chaining可能未定义);或
  • undefined(绝对是)。

对于解构赋值,右侧必须是一个对象。

【讨论】:

    猜你喜欢
    • 2020-07-26
    • 2023-03-07
    • 2014-04-27
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多