2016-10-21 5 views

答えて

3

タイプを指定する必要があります。オブジェクト宣言でそれを使用する方法はありませんが、[]を使用してプロパティ値を設定してアクセスすることができます。

interface MyInterface { 
    [name: string]: string; 
} 
const n = 'qweq'; 

let x: MyInterface = { 
    'a': 'b' 
} 

x[n] = 'a'; 

そして、それをこのようにアクセスします。

x[n] 

遊び場で確認してくださいhere

+0

これは機能しません(または多分私の質問は不明です)。あなたの例では、 'x.coolname'は' undefined'です。 –

+0

あなたは、Xオブジェクトにnという名前のプロパティを作成していたのは間違いありません。私は私の答えを更新しました。 :) – toskv

+0

ありがとうございますが、これはtypecheckingをバイパスしています。これを実行すると、 'MyInterface'型のオブジェクトに' qweg'プロパティー –

関連する問題