使用解构将赋值分配给已定义的变量

时间:2019-07-12 13:37:00

标签: javascript object destructuring

根据javascript.info,以下代码应该可以正常运行, https://javascript.info/destructuring-assignment#object-destructuring

在我的项目中,我已经定义了一些变量,现在我正尝试使用destructuring赋值 但是,我无法在代码下运行。

// This also does not work.
let title, width, height;
myobj = {title: "Menu", width: 200, height: 100}
({title, width, height}) = myobj;
console.log(title);

// This also does not work.
let title, width, height;
myobj = {title: "Menu", width: 200, height: 100}
{title, width, height} = myobj;
console.log(title);

1 个答案:

答案 0 :(得分:5)

您需要将整个表达式包装在()中,并在前一行添加分号

来自Assignment without declaration

  

使用不带声明的对象文字解构分配时,需要在赋值语句周围加上括号(...)。

     

您的(...)表达式必须以分号开头,或者可以用于执行上一行的函数。

// This also does not work.
let title, width, height;
let myobj = { title: "Menu", width: 200, height: 100 }; // <- semicolon here
({ title, width, height } = myobj);
console.log(title);