以下产生语法错误:
let source,
screenings,
size;
source = {
screenings: 'a',
size: 'b'
};
{
screenings,
size
} = source;
预期结果:
screenings should be equal to 'a'
size should be equal to 'b'
答案 0 :(得分:109)
您需要使用assignment without declaration语法:
({
screenings,
size
} = source);
来自链接的文档:
赋值语句周围的(..)是必需的语法 使用没有声明的对象文字解构赋值
显然你需要使用它,因为你无法重新声明let
变量。如果您使用的是var
,则可以重新声明var { screenings, size } = source;