mam dwie klasy, które dziedziczą z tej samej klasy bazowej:Jak dołączyć dwie tablice z typami dwóch różnych typów, które rozszerzają/dziedziczą ten sam typ?
class Vehicle {}
class Bus extends Vehicle {}
class Truck extends Vehicle {}
zjedzmy dwie tablice wpisane:
var buses : Bus[];
var trucks : Truck[];
i funkcję, która przyjmuje tablicę nadklasy typu.
function checkOil(vehicles : Vehicle[]) {}
mogę przekazać w tablicy autobusów lub tablicy ciężarówek, ale nie mogę ich połączyć i przekazać je razem:
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:
Jak mogę połączyć te tablice?
Edycja: TypeScript Playground
mógł je skopiować zarówno w wystarczająco dużej tablicy "Pojazdu". Dlaczego chcesz to zrobić? – dfeuer
Concat to array of Vehicle nie zadziała. Kopiuj za pomocą pętli for, ale to jest suboptymalne, dlatego szukam lepszego rozwiązania tutaj. –