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

2022-08-30 01:39:22

下面将生成语法错误:

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

您需要将赋值与声明语法分开使用:

({
    screenings,
    size
} = source);

巴别塔示例

从链接的文档:

赋值语句周围的 ( .. ) 是在没有声明的情况下使用对象文本解构赋值时必需的语法

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


答案 2