通过解构重新分配 JavaScript 变量

Reassign JavaScript variable via destructuring

如果我在 JavaScript 中声明新变量,我可以通过解构来实现,如下所示:

const myObj = {
  thing1: 'first thing',
  thing2: 'second thing'
};

const { thing1, thing2 } = myObj;

我想做类似的事情,但是通过 re 分配作为函数参数传递的变量(通过隐含的 let 和因此不是静态的)。我尝试了如下操作:

function myFun(thing1, thing2) {
  const myObj = {
    thing1: 'first thing',
    thing2: 'second thing'
  };

  { thing1, thing2 } = myObj;
}

这让我在 = 上出现了意外的标记错误。这是可能的还是我只能通过解构声明新变量?

很简单。对于已经声明的变量,如果您想使用解构为它们重新分配值,只需在语句周围添加括号。

( { thing1, thing2 } = myObj );