ネストされたオブジェクトでいくつかのインターフェイスについて説明したいと思います。どのようにして、ネストされたオブジェクトのためのインターフェイスを作成せずにそれを行うことができますか?TypeScriptインターフェイスでプロパティオブジェクトを記述する
interface ISome {
strProp:string;
complexProp:{
someStrKeyWhichIsDynamic:{
value:string;
optValue?:string;
}
};
}
私も試してみました:
interface ISome {
strProp:string;
complexProp:{
[someStrKeyWhichIsDynamic:string]:{
value:string;
optValue?:string;
}
};
}
(UPDを実際に大丈夫です)しかし、私は、型アサーションなしISome型の変数に
let dynamicStrKey = 'myKey';
{
strProp:'str',
complexProp:{
[dynamicStrKey]:{
value:'something here',
optValue: 'ok, that too',
}
};
のようなオブジェクトを割り当てるためにカント<ISome>
。少なくともWebStormはこの割り当てをエラーとして強調表示します。
入れ子オブジェクトを正しく記述する方法は?
しかし、私は動的なプロパティをしたい場合、どのように記述する必要がありますか?私はここにいくつかのプロパティがあることを指定したい、それは文字列でなければならず、それはあまりにも説明された何らかのオブジェクト値を持つべきである。 – Alendorff
私が言ったように、私はあなたの質問を正しく理解している場合、実行時まで値がわからないプロパティを持つコンパイル時TS型を定義することはできません。 –
大丈夫、ありがとう。 – Alendorff