2017-05-20 9 views
2

私はtypescriptを使用していて、オブジェクトからプロパティを削除する必要があります。問題私はクラスのコンストラクタのプロパティに割り当てる必要があるということです。オブジェクトからプロパティを削除し、それをコンストラクタのプロパティに割り当てることはできますか?

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

私はもっと何かしたい:

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

は、任意の形状や形成これは可能ですか?

答えて

3

はい、これを行うことができますが、宣言子(var)を削除する必要があります。これは、既に存在するものに分解するためです。また、asは無効な構文です。それを除く。

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

完全な例:

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

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

TypeScript playground

Babel REPL

スタックスニペット

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

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

 
console.log(new A());
経由

関連する問題