javascript - 使用 ES6 解构赋值语法重新分配变量

标签 javascript ecmascript-6

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

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

如果以后(比如根据某些条件,比如值是假的)我要重新分配 a , bc ,我发现我必须这样做:

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

因为以下两个给出 SyntaxError :

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

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

最佳答案

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

关于javascript - 使用 ES6 解构赋值语法重新分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57939428/

相关文章:

javascript - 从 API 获取 ember 组件中的数据

javascript - 一个类的许多实例对性能的影响

javascript - 基于 Javascript 中的过滤器数组的过滤器数组

javascript - 类构造函数中的异步数据加载

javascript - 将 ES6 类传递给 Workerize

javascript - 无法在 React 组件类中使用箭头函数

javascript - 如何在输入地址时发送新的地理定位请求并刷新 Google map ?

javascript - 由 Tampermonkey 创建的链接在 Chrome 中有效,但在 Firefox 中无效?

javascript - 地理定位 watch 不会持续触发

javascript - 如何理解 Javascript Redux 中间件中的这种语法