如何将对象解构为已定义的变量?

时间:2015-08-21 10:52:42

标签: javascript ecmascript-6

以下产生语法错误:

let source,
    screenings,
    size;

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

{
    screenings,
    size
} = source;

预期结果:

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

1 个答案:

答案 0 :(得分:109)

您需要使用assignment without declaration语法:

({
    screenings,
    size
} = source);

Babel REPL Example

来自链接的文档:

  

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

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