【问题标题】:Reassign variables using ES6 destructuring assignment syntax [duplicate]使用 ES6 解构赋值语法重新赋值变量
【发布时间】:2019-09-14 21:35:21
【问题描述】:

假设我有两个对象包含相同的键但不同的值,我对第一个对象使用解构赋值:

const obj1 = {a:1, b:2, c:3}
const obj2 = {a:4, b:5, c:6}
let {a, b, c} = obj1

如果以后(比如取决于某些条件,比如值是错误的)我要重新分配 abc,我发现我必须这样做:

a = obj2.a
b = obj2.b
c = obj2.c

由于以下两个都给出SyntaxError

{a, b, c} = obj2
let {a, b, c} = obj2

是否可以使用最初使用的相同语法重新分配这些变量(使用单行而不是单独重新分配每个变量)?如果是这样,我该怎么做?

【问题讨论】:

  • 感谢您的链接,因为它解释了接受的答案。即这里需要括号 ( ... ) 围绕赋值语句,因为 {...} 运算符在 JavaScript 中具有多种含义

标签: javascript ecmascript-6


【解决方案1】:

您可以用括号将第一个选项括起来:({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);

【讨论】:

    猜你喜欢
    • 2017-04-19
    • 2018-05-04
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    • 2020-03-15
    • 2020-05-19
    • 2017-07-22
    • 1970-01-01
    相关资源
    最近更新 更多