Zum Inhalt springen

1.4: Werte typisieren

Erstelle eine Datei typisierung.ts und definiere die Typen für die folgenden Daten.

Type aliases

  1. Einen Vornamen (Hans, Peter, Fritz)
  2. Eine Telefonnummer (+76 123 45 67, 0441234567)
  3. Eine Strassennummer (12, 23a, 140)
  4. Eine Liste von Hobbys
  5. 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

  1. Ein Benutzer mit den Eigenschaften: id, name, email, isAdmin
  2. Ein Produkt mit den Eigenschaften: id, name, price, category
  3. Ein Blogbeitrag mit den Eigenschaften: id, title, content, authorId, tags
  4. Eine Bestellung mit den Eigenschaften: id, userId, productIds, totalPrice, status
  5. Ein Kommentar mit den Eigenschaften: id, postId, userId, content, createdAt
    • Ein Kommentar sollte auch anonym erfasst werden können. Mache dafür das userId Feld optional.

Verschachtelte Typen

Ergänze den Bestllungstyp aus Punkt 9 mit den folgenden Eigenschaften:

  1. Ersetze das authorId Feld des Blogbeitrags durch author und verwende dafür den Typ des Benutzers.
  2. Füge dem Bestellungstyp eine Lieferadresse hinzu mit den Feldern: Strasse, Strassennummer, Ort, Postleitzahl.
  3. Ersetze das productIds durch eine Liste des “Produkt”-Typs (products).
  4. Füge dem Bestellungstyp eine Rechnungsadresse hinzu, welche jedoch zusätzlich die Felder firstname und lastname beinhaltet.