0
結局、これは本当に簡単な質問かもしれません。しかし、私はまだ解決策を見つけられませんでした。TypeScriptでシグネチャインデックスを持つ動的オブジェクトを拡張する
私はシグネチャインデックスで定義された動的オブジェクトを持っています。通常、すべてのプロパティはstring型でなければなりません。しかし、いくつかの例外があります。たとえば、width
は、常にタイプnumber
でなければなりません。私は私のインターフェイスに追加するときしかし、私はエラーを取得する
error TS2411: Property 'width' of type 'number' is not assignable to string index type 'string'.
これは私のインターフェイスのようになります。
interface DynamicStyleObject {
[ key : string ] : string;
width : number;
}
だから、 'STRING'だけ' 'number'を持つwidth'ためのデフォルトの型を持つことが可能ではないでしょうか? – lumio
オハイオ州オクラホマ、私はちょうど私がこのように "伸ばす"ことができたことを発見しました。一般に 'string'と' number'の両方が許されますが、 'width'では' number'だけが有効です。 – lumio
@lumioはい、それは私が意味するものです、残念ですが、私はwidthプロパティを追加することを忘れました(私は更新しました)。ポイントは、 'string | number'はstring型とnumber型のプロパティを許可します。このようにして、' width:number'や 'display:string'のようなタイプのプロパティを厳密に指定することができます。 –