下面的内容似乎是有效的JavaScript。
const {} = { foo: 'foo' }
是否有一个特定的使用情况来使用空的反结构赋值模式(是这个词吗?),像这样?
我想说,这是为了一致性而存在的。它是允许destructure一个空的属性列表的,因为,否则,他们就必须实现代码来spcifically disallow它。
虽然它可能看起来没有任何作用,但它仍然是完全正确的;其实和一个未使用的变量或其他类似的冗余没有什么区别。这也可能会让重构过程变得更容易:属性可以被添加和删除到一个destructuring模式中,而不用担心如果你在中间的某个点打到了零,你必须删除整个赋值。
另外,正如 @Bergi 在他们的评论中所说,它至少可以断言右手边是一个对象,而不是空或未定义。