Perfeito, Fabrício! Tentei buscar essa diferenciação no stackoverflow. Mas não consegui achar. Obrigado! Você foi fera!

Agora, outra dúvida. Como posso realizar um typeGuard para um dos três tipos do MyArray2?

get arrData(): ClassA[] | ClassB[] {
}

/* Returns the sum of nProperty, existing property in ClassA, but not in ClassB */
get nProperty() {
        return this.arrData.reduce((nSum, objCur) => nSum + objCur.nProperty, 0);
}

O Código do getter nProperty resulta erro, pois a propriedade nProperty só existe em ClassA.

> O Código do getter nProperty resulta erro, pois a propriedade nProperty só existe em ClassA. Você poderia estender, não? > Como posso realizar um typeGuard para um dos três tipos do MyArray2? Melhor do que eu explicar por cima. Ta aqui um guia de como usar TypeGuards no ts! https://blog.logrocket.com/how-to-use-type-guards-typescript/