以下会产生语法错误:
let source, screenings, size; source = { screenings: 'a', size: 'b' }; { screenings, size } = source;
预期结果:
screenings should be equal to 'a' size should be equal to 'b'
您需要使用与声明语法分开的赋值:
({ screenings, size } = source);
Babel REPL 示例
从链接的文档:
使用没有声明的对象文字解构赋值时,赋值语句周围的 ( .. ) 是必需的语法
显然你需要使用它,因为你不能重新声明一个let变量。如果你正在使用var,你可以重新声明var { screenings, size } = source;
let
var
var { screenings, size } = source;