2017-01-08 12 views
1

I持って、私はインスタンスのこのに彼のプロパティを設定するオブジェクトとりクラス:活字体動的性質

class Test { 
    constructor(config) { 
    for(let field in config) { 
     this[field] = config[field]; 
    } 
    } 
} 

const test = new Test({name: "JOHN", age: 13}); 

configオブジェクトは動的であり、任意のプロパティをすることができ、私はIntellisenseを開始後に得ることができる方法がありますか?

たとえば、私がテストとドットを入力しているときに、設定オブジェクトのプロパティがクラスのメンバーであるためにIntellisenseを取得したいとします。

+0

なぜこれをやりたいですか?なぜconfigをクラスのメンバーとして持っていないのですか? –

+0

これは複雑な答えです。私はちょうどこれのようにする必要があります。 – undefined

+0

あなたが提供した情報が限られているため、答えは「いいえ、あなたはIntellisenseのためにタイプ情報を持つことができません。あなたがあなたの問題/シナリオを説明する必要がある場合は、その助けが必要な場合。 –

答えて

1

私はあなたが得ることができる最も近い

タイプは変更されませんを参照してください

class Test<T> { 
    constructor(public config: T) { } 
} 

interface Person { 
    name: string; 
    age: number; 
} 
const test = new Test<Person>({ name: "JOHN", age: 13 }); 

test.config.name 

intellisense

一般的なプロパティを持つジェネリッククラスだと思いますあなたのコードは、ちょうど設計時の成果物。タイプはコンパイル時に「蒸発」するだけなので、実行時にIntellisenseにIntellisenseを提供する方法はありません。