通过解构重新分配 JavaScript 变量

Bra*_*ing 2 javascript destructuring ecmascript-6

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

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

const { thing1, thing2 } = myObj;
Run Code Online (Sandbox Code Playgroud)

我想做一些类似的事情,但是通过重新分配作为函数中的参数传递的变量(通过隐含分配let,因此不是静态的)。我尝试了以下内容:

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

  { thing1, thing2 } = myObj;
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个意外的令牌错误=。这是可能的还是我只能用解构声明新变量?

abh*_*nav 7

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

( { thing1, thing2 } = myObj );
Run Code Online (Sandbox Code Playgroud)