如何解构和分配类属性

时间:2017-08-22 14:39:10

标签: javascript ecmascript-6

问题

我想解构一个与此类似的对象

const {header, content} = this.data

数据有

data: {header: 'some header', content: 'some content'}

到类属性,所以我可以调用

this.headerthis.content

班上的任何地方。

我尝试了什么

我假设它会是这样的

{this.header, this.content} = this.data

this {header, content} = this.data

但两者都会抛出错误。

结论

甚至可以直接解析赋值给类属性吗?

1 个答案:

答案 0 :(得分:2)

可以通过解构进行,因为解构分配的目标可以是你可以分配的任何东西,但它并没有真正为你买单:

({header : this.header, content: this.content} = data);

(仅需要Parens,因此{看起来不像一个块的开头。)

直播示例:



class Example {
  constructor(data) {
    ({header : this.header, content: this.content} = data);
    console.log(this.header);
    console.log(this.content);
  }
}
new Example({header: 'some header', content: 'some content'});