3
TypeScriptにエラーが表示されないように、同じクラスを継承するさまざまなオブジェクトを1つの配列に集めるときに、TypeScriptで上位クラスを設定するにはどうすればよいですか?TypeScriptで異なるオブジェクトを持つ配列
私はこのようにそれをしようとしている:
interface IVehicle{
modelName: string
}
interface ICar extends IVehicle{
numberOfDoors: number,
isDropTop: boolean
}
interface IBike extends IVehicle{
hasDynamo: boolean
}
var vehicles: IVehicle[] =
[
{
modelName: "carModelName", // Error
numberOfDoors: 4,
isDropTop: true
},
{
modelName: "bikeModelName",
hasDynamo: true
}
]
このようにそれをやって、私はエラーを取得しています。
エラーが表示されないようにするには、上位インタフェースのオブジェクトを追加するだけです。IVehicle
ありがとうございます。 ICehやIBikeにIVehicleをキャストすることはできますか?たとえば、その配列からオブジェクトを取得するときです。 – testiguy
typescriptにキャストはなく、タイプアサーションのみです。あなたがタイプ・ガードを使うことができるエントリーが特定のタイプであるかどうかを調べる必要がある場合は、そのタイプの例を追加します。 – toskv