1.4: Werte typisieren
Erstelle eine Datei typisierung.ts und definiere die Typen für die folgenden Daten.
Type aliases
- Einen Vornamen (Hans, Peter, Fritz)
- Eine Telefonnummer (+76 123 45 67, 0441234567)
- Eine Strassennummer (12, 23a, 140)
- Eine Liste von Hobbys
- Eine Liste von User-IDs. Die Liste soll sowohl sequenzielle IDs aus Zahlen (
1,2,3,1001,1002,1003…) als auch “UUIDs” (f3e4c070-9a3d-4f6b-b1c1-2e9de4c01761) beinhalten können.
Einfache Typen
- Ein Benutzer mit den Eigenschaften:
id,name,email,isAdmin - Ein Produkt mit den Eigenschaften:
id,name,price,category - Ein Blogbeitrag mit den Eigenschaften:
id,title,content,authorId,tags - Eine Bestellung mit den Eigenschaften:
id,userId,productIds,totalPrice,status - Ein Kommentar mit den Eigenschaften:
id,postId,userId,content,createdAt- Ein Kommentar sollte auch anonym erfasst werden können. Mache dafür das
userIdFeld optional.
- Ein Kommentar sollte auch anonym erfasst werden können. Mache dafür das
Verschachtelte Typen
Ergänze den Bestllungstyp aus Punkt 9 mit den folgenden Eigenschaften:
- Ersetze das
authorIdFeld des Blogbeitrags durchauthorund verwende dafür den Typ des Benutzers. - Füge dem Bestellungstyp eine Lieferadresse hinzu mit den Feldern: Strasse, Strassennummer, Ort, Postleitzahl.
- Ersetze das
productIdsdurch eine Liste des “Produkt”-Typs (products). - Füge dem Bestellungstyp eine Rechnungsadresse hinzu, welche jedoch zusätzlich die Felder
firstnameundlastnamebeinhaltet.