Übung 18: Type Predicates implementieren
In dieser Aufgabe definierst du zwei verschiedene Typen und implementierst eine benutzerdefinierte Predicate Function, um zwischen ihnen zu unterscheiden. Dann benutzt du diese Funktion, um verschiedene Objekte in einem Array zu filtern und zu behandeln.
Anweisungen:
-
Definiere zwei Typen, Car und Truck, wobei:
- Car hat eine Methode drive().
- Truck hat eine Methode loadCargo().
- Erstelle eine Type Predicate Funktion isCar, um zu prüfen, ob ein bestimmtes Fahrzeug ein Car ist und eine Fahrfunktion hat. Hinweis: .drive !== undefined.
-
Implementiere eine Funktion handleVehicle, die einen Parameter vom Typ Car | Truck akzeptiert:
- Wenn das Fahrzeug ein Car ist, rufe drive() an.
- Wenn das Fahrzeug ein Truck ist, rufe loadCargo() an.
- Erstelle ein Array von Car | Truck Objekten und filtere nur die Autos mit dem isCar Predicate heraus.
- Teste deine Funktionen mit verschiedenen Eingaben.