偏好解构-已经存在变量

时间:2019-07-03 08:40:01

标签: javascript node.js ecmascript-6 eslint destructuring

我的短毛猫给我带来了销毁的麻烦。

enter image description here


当我尝试破坏结构时,它使我出错,如以下代码片段所示:

const data = {
  status: 'example',
};

let status = 'foo';

{
  status,
} = data;

console.log(status);

当变量已经存在时,有没有办法使用解构?


再次使用let

const data = {
  status: 'example',
};

let status = 'foo';

let {
  status,
} = data;

console.log(status);

1 个答案:

答案 0 :(得分:9)

在解构前后加上括号

摘自文档:Assignment without declaration

  

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

     

{a, b} = {a: 1, b: 2}是无效的独立语法,因为左侧的{a, b}被认为是一个块,而不是对象文字。

     

不过,({a, b} = {a: 1, b: 2})var {a, b} = {a: 1, b: 2}都是有效的

     

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

const data = {
  status: 'example',
};

let status = 'foo';

({ status } = data);

console.log(status);