Executando verificação de segurança...
3

Dúvida: Array com tipos variados

Bom dia.

Existe alguma diferença entre tipar um array dentre essas duas formas?

type MyArray1 = (Dog | Cat | Bird)[]
type MyArray2 = Dog[] | Cat[] |  Bird[]

O MyArray1 me parece permitir um array mixado entre Dog, Cat e Bird.
Enquanto que o MyArray2 me parece ser um tipo que permite o array de um único tipo desses três.

Confere?

Carregando publicação patrocinada...
8
1

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.

2