【发布时间】:2021-03-24 09:30:55
【问题描述】:
我正在尝试同时分配和解构
a = {x: 1, y: 5}
let b, {x} = a
结果:
b = undefined
x = 1
我想要:
b = {x: 1, y: 5}
x = 1
有什么方法可以实现吗?当我尝试使用const进行分配时
const c, {y} = a
^
Uncaught SyntaxError: Missing initializer in const declaration
【问题讨论】:
-
const b = a, {x} = a?虽然这不会复制对象。 -
让 a = {x: 1, y: 5} 让 b = {x} = a;
-
@RaviAshara 创建一个隐式全局
x(在严格模式下会引发错误) -
如果你想要浅拷贝。
const b = {...a}, {x} = a -
在一个表达式中分配多个变量已经够混乱了。在顶部添加解构甚至更糟。您可能会喜欢它,但您的大多数同事不会。如果我看到类似的东西,我会立即重构它。请怜悯他人。
标签: javascript ecmascript-6 destructuring