是否有一种干净的方法可以从同一范围内的2个相似对象中构造相同的变量?
function(oldState,newState) { let {foo,bar} = oldState; // do stuff // let {foo,bar} = newState; // illegal double declaration in same scope {foo,bar} = newState; // illegal,not sure why let {foo: foo1,bar: bar1} = newState; // legal but ugly foo = newState.foo; // legal,but requires multiple lines }
解决方法
您可以将赋值包装在parens中,以通过解构重新分配变量.这是必要的原因是因为否则解析器假定{开始一个块而不是一个对象文字或赋值模式.
This blog post更详细地解释了这种情况.
function(oldState,bar} = oldState; // do stuff // ({foo,bar} = newState); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。