假设我们有一个对象:
let param = {
obj: {
y: 1
}
}
我们想破坏它:
let { obj: {y} } = param
现在我有
y //1
obj //not defined
我发现使用obj
的唯一方法是:
let { obj, obj: {y} } = param
我觉得太重复了。
是否有任何方法可以使用obj
而不在销毁时重复它?
谢谢。
答案 0 :(得分:2)
实际上,否,当前不是。最简短的语法就是您所拥有的。
但是,在ECMAScript提案中,有一个名为As Patterns的草案,其中可能有以下内容。 a.e.
let {obj: {y} as obj} = param;
尽管公认地长度不多,但使用起来更清晰。它处于第0阶段,因此还有很长的路要走,但这确实表明您需要按照您的建议进行某些工作,但是根本没有经过渠道适当的审查并将其添加到到目前为止的规格。
考虑到新的重组本身是多少,这在某种程度上是可以理解的。这是JavaScript开发人员不想要的功能之一,直到他们立即遇到您今天遇到的问题。