【问题标题】:How to destructure an object to an already defined variable? [duplicate]如何将对象解构为已定义的变量? [复制]
【发布时间】:2015-11-15 07:00:24
【问题描述】:

以下会产生语法错误:

let source,
    screenings,
    size;

source = {
    screenings: 'a',
    size: 'b'
};

{
    screenings,
    size
} = source;

预期结果:

screenings should be equal to 'a'
size should be equal to 'b'

【问题讨论】:

    标签: javascript ecmascript-6


    【解决方案1】:

    你需要使用assignment without declaration语法:

    ({
        screenings,
        size
    } = source);
    

    Babel REPL Example

    来自链接的文档:

    赋值语句周围的 (..) 是必需的语法,当 使用没有声明的对象字面量解构赋值

    显然您需要使用它,因为您不能重新声明 let 变量。如果你使用var,你可以重新声明var { screenings, size } = source;

    【讨论】:

    • 正如我也发布了in the answer here,如果你用分号编写JS - 即;({ screenings, size } = source),则此语法需要以分号开头
    猜你喜欢
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 2017-02-11
    • 2019-03-08
    • 1970-01-01
    • 2022-12-12
    • 2020-12-22
    • 1970-01-01
    相关资源
    最近更新 更多