是否可以从对象中构造属性并将其分配给构造函数上的属性?

时间:2017-05-20 22:27:03

标签: javascript typescript destructuring

我正在使用打字稿并希望从对象中解构属性。问题是我需要将它分配给类的构造函数中的属性:

var someData = [{title: 'some title', desc: 'some desc'}];
var [{title}] = someData; // 'some title';

我想要更像的东西:

var [{title :as this.title$}] = someData;

这可能是任何形状或形式吗?

1 个答案:

答案 0 :(得分:3)

是的,你可以这样做,但是你需要删除声明符(var),因为你正在解构已经存在的东西。此外,as语法无效。删除它。

[{title: this.title$}] = someData;

一个完整的例子:

const someData = [
  { title: 'Destructuring' }
];

class A {
  title$: string;
  constructor() {
    [{ title: this.title$ }] = someData;
  }
}

TypeScript playground

Babel REPL

通过Stack Snippet

const someData = [{
  title: 'Destructuring'
}];

class A {
  constructor() {
    [{title: this.title$}] = someData;
  }
}

console.log(new A());