首页 > 解决方案 > 在 ES6 中,我如何解构对象并将其分配给已定义的变量

问题描述

在多年坚持使用普通 ole JS (ES5) 之后,我才刚刚开始使用 ES6 编写代码。我真正喜欢的一项功能是在声明和分配变量时进行对象解构:

function someFunction() {
    return Promise.resolve({
        a: 0,
        b: 1
    });
}
let {a, b} = await someFunction();

但是在特殊情况下,我很想像这样转换现有变量:

function otherFunction(a, b) {
    return Promise.resolve({
        a: a + 1,
        b: b + 2
    });
}

let {a, b} = await someFunction();
{a, b} = await otherFunction(a, b);

由于这两个变量已经使用声明,let我无法重新声明它们。如果我切换回使用var而不是让,我可以这样做:

var {a, b} = await someFunction();
var {a, b} = await otherFunction(a, b);

哪个工作得很好,但我想从 ES6 的严格性和let关键字中受益,有没有办法在不声明的情况下解构分配?

标签: javascriptecmascript-6

解决方案


推荐阅读