Comment concat deux tableau typé qui sont de deux types différents qui s'étendent/héritent du même type?

J'ai deux classes qui héritent de la même superclasse:

class Vehicle {}

class Bus extends Vehicle {}

class Truck extends Vehicle {}

Nous allons avoir deux tableaux typés:

var buses : Bus[];
var trucks : Truck[];

et une fonction qui accepte un tableau de la super-classe type.

function checkOil(vehicles : Vehicle[]) {}

Je peux passer dans la gamme de bus ou d'une matrice de camions, mais je ne peut pas les fusionner et de les passer ensemble:

function checkOil(buses.concat(trucks));


//error TS2082: Supplied parameters do not match any signature of call target:
    Types of property 'pop' of types 'Bus[]' and 'Track[]' are incompatible:

Comment puis-je fusionner ces tableaux?

EDIT: Tapuscrit De L'Aire De Jeux

  • Vous pouvez copier les deux hommes dans une base suffisamment large éventail de Vehicles. Pourquoi voulez-vous faire?
  • Concat à la gamme de Véhicule ne fonctionnera pas. Copie par le biais de boucle, mais qui est sous-optimale, c'est pourquoi je chercher la meilleure solution ici.