【发布时间】:2019-11-24 11:41:53
【问题描述】:
如果我在 JavaScript 中声明新变量,我可以通过解构来实现,如下所示:
const myObj = {
thing1: 'first thing',
thing2: 'second thing'
};
const { thing1, thing2 } = myObj;
我想做一些类似的事情,但是通过重新分配作为函数参数传递的变量(通过隐含的let 分配,因此不是静态的)。我尝试了类似以下的方法:
function myFun(thing1, thing2) {
const myObj = {
thing1: 'first thing',
thing2: 'second thing'
};
{ thing1, thing2 } = myObj;
}
这在= 上给了我一个意外的令牌错误。这是可能的还是我只能用解构声明新变量?
【问题讨论】:
-
请注意,参数是按值传递的,因此在函数中分配给它们的值永远不会返回给调用者。这与你是否使用解构无关。
标签: javascript ecmascript-6 destructuring