破坏性转让,但没有模式。

问题描述 投票:1回答:1

下面的内容似乎是有效的JavaScript。

const {} = { foo: 'foo' }

是否有一个特定的使用情况来使用空的反结构赋值模式(是这个词吗?),像这样?

javascript
1个回答
1
投票

我想说,这是为了一致性而存在的。它是允许destructure一个空的属性列表的,因为,否则,他们就必须实现代码来spcifically disallow它。

虽然它可能看起来没有任何作用,但它仍然是完全正确的;其实和一个未使用的变量或其他类似的冗余没有什么区别。这也可能会让重构过程变得更容易:属性可以被添加和删除到一个destructuring模式中,而不用担心如果你在中间的某个点打到了零,你必须删除整个赋值。

另外,正如 @Bergi 在他们的评论中所说,它至少可以断言右手边是一个对象,而不是空或未定义。

© www.soinside.com 2019 - 2024. All rights reserved.