假设我有两个包含相同键但值不同的对象,并且我在第一个对象上使用了一个解构分配:
const obj1 = {a:1, b:2, c:3}
const obj2 = {a:4, b:5, c:6}
let {a, b, c} = obj1
如果稍后(例如,根据某些条件,例如值是否为假),我将重新分配a
,b
和c
,我发现我必须这样做:>
a = obj2.a
b = obj2.b
c = obj2.c
由于以下两项都给出了SyntaxError
:
{a, b, c} = obj2
let {a, b, c} = obj2
是否可以使用与最初使用的语法相同的语法来重新分配这些变量(使用单线而不是单个地重新分配每个变量)?如果是这样,那我该怎么办?
答案 0 :(得分:3)
您可以将第一个选项用括号括起来:({a, b, c} = obj2);
const obj1 = {a:1, b:2, c:3}
const obj2 = {a:4, b:5, c:6}
let {a, b, c} = obj1;
console.log(a);
({a, b, c} = obj2);
console.log(a);