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

以下内容会产生语法错误:

let source,
screenings,
size;


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


{
screenings,
size
} = source;

预期结果:

screenings should be equal to 'a'
size should be equal to 'b'
36447 次浏览

您需要使用与声明分开的转让语法:

({
screenings,
size
} = source);

Babel REPL示例

从链接的文档中:

在下列情况下,赋值语句前后

的(.)是必需的语法 在没有声明

的情况下使用对象文字析构赋值

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