2017-05-12 26 views
0

インターフェイスを実装したいのですが、構文を正しく取得するのに苦労しています。インターフェイスを実装するtypescriptクラスを作成する

インタフェース私はこの権利を理解場合

interface Test { 
    [name : string] : (source : string) => void; 
} 

を実装したいと思い、インターフェースは、基本的な値としてキーとして文字列と機能を持つオブジェクトです。

ご迷惑をおかけして申し訳ありません。私はいくつかのエラーを取得し、「インターフェースの間違った実装」、「インデックスの署名が欠落している」など、

遊び場例:編集

Link

私はインターフェイスを実装していない、それはからですa sdk

+0

をだから、何をしようとしなかった、あなたはどのようなエラーが出るのですか?そして、このインターフェースは何を表していますか?なぜそれを実装することができないのか分からないのであれば、それを定義しましたか? –

答えて

0

私はクラスがこのようなインタフェースを実装できるとは思いません。

これは、「型付きオブジェクト」インターフェイスの詳細です。

オブジェクトを入力して文字列をキーとして指定し、関数が文字列を取り、何も値として返さないように指定することができます。

ので、同じように:

let myObj: Test = { 
    test: (source: string) => { console.log('function returning void'); } 
}; 
1

ただ、クラスにインデックス署名を追加:

interface Test { 
    [name: string]: (source: string) => void; 

} 

class TestClass implements Test { 
    [name: string]: (source: string) => void; // Add this 
    getLastName(source: string) { 
     console.log("test"); 
    } 
}