根据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);
答案 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);