私はAngularアプリケーションに取り組んでいます。その中で私はインターフェースを持っていますIAbc

interface IAbc {
    id: number,
    name: string
}

そしてIXyz、以下のような上記のインターフェースを使用する別のインターフェース:

interface IXyz {
    id: number,
    value: string | number | Date | IAbc[];
}

ここでは、値は任意のタイプのデータである可能性があるため、タイプを絞り込みました。

新しい変数を作成しました:

let someVar: IXyz;

someVar = {
    id: 100,
    value: [
        {
            id: 1,
            name: 'abc'
        },
        {
            id: 2,
            name: 'xyz'
        }
    ]
};

値はリストにすることもできるので、forEachいくつかの操作を行うためにそれを使用する必要があります。

someVar.value.forEach((x: IAbc) => console.log('some operation on value, ', x))

しかし、私はこのエラーを受け取りますforEach

Property 'forEach' does not exist on type 'string | number | Date | IAbc[]'.
  Property 'forEach' does not exist on type 'string'.(2339)

論理的にはこれでうまくいくと思います。タイプスクリプトに何か問題がありますか?

私はこれを再現した遊び場リンクを作成しました。

あなたの考えを聞かせてください。ありがとう!


PS:あちらでany使用でき、スムーズに動作することはわかっanyていますが、アプリケーションのリンティングによっての使用が無効になっています。

答えが見つかりません