From 9f316103e984c154946fd3b624e0ad894194c7e8 Mon Sep 17 00:00:00 2001 From: Philippe Torrel Date: Tue, 20 Oct 2026 13:17:52 +0200 Subject: [PATCH] --- .../u20_fn-call-signatures/src/main.ts | 2 +- .../uebungen/u22_fn-optional-props/index.html | 49 ++ .../u22_fn-optional-props/package.json | 13 + .../u22_fn-optional-props/src/main.ts | 19 + .../u23_fn-rest-params-args/index.html | 58 ++ .../u23_fn-rest-params-args/package.json | 13 + .../u23_fn-rest-params-args/src/main.ts | 23 + .../uebungen/u24_fn-destructuring/index.html | 48 ++ .../u24_fn-destructuring/package.json | 13 + .../uebungen/u24_fn-destructuring/src/main.ts | 19 + .../uebungen/u25_obj-read-only/index.html | 68 +++ .../uebungen/u25_obj-read-only/package.json | 13 + .../uebungen/u25_obj-read-only/src/main.ts | 17 + .../uebungen/u26_obj-update/index.html | 63 +++ .../uebungen/u26_obj-update/package.json | 13 + .../uebungen/u26_obj-update/src/main.ts | 19 + .../u27_obj-interface-props/index.html | 84 +++ .../u27_obj-interface-props/package.json | 13 + .../u27_obj-interface-props/src/main.ts | 25 + .../u28_obj-excess-prop-check/index.html | 53 ++ .../u28_obj-excess-prop-check/package.json | 13 + .../u28_obj-excess-prop-check/src/main.ts | 15 + .../u29_obj-extending-interface/index.html | 43 ++ .../u29_obj-extending-interface/package.json | 13 + .../u29_obj-extending-interface/src/main.ts | 11 + .../uebungen/u30_obj-subtyp/index.html | 47 ++ .../uebungen/u30_obj-subtyp/package.json | 13 + .../uebungen/u30_obj-subtyp/src/main.ts | 11 + .../uebungen/u31_obj-generics-fns/index.html | 42 ++ .../u31_obj-generics-fns/package.json | 13 + .../uebungen/u31_obj-generics-fns/src/main.ts | 9 + 05_typescript/uebungen/uebungen-22-31-ts.zip | Bin 0 -> 24305 bytes .../tag32/01_ts-functions/package.json | 2 +- .../src/04_never-void-unknown.ts | 2 +- .../02_ts-objects/assets/img/what-is-ts.webp | Bin 0 -> 167054 bytes .../assets/js/01_obj-props-readonly.js | 47 ++ .../assets/js/02_excess-property-check.js | 12 + .../02_ts-objects/assets/js/03_obj-extends.js | 29 + .../02_ts-objects/assets/js/04_more-types.js | 79 +++ .../unterricht/tag32/02_ts-objects/index.html | 27 + .../tag32/02_ts-objects/package-lock.json | 499 ++++++++++++++++++ .../tag32/02_ts-objects/package.json | 14 + .../src/01_obj-props-readonly.ts | 116 ++++ .../src/02_excess-property-check.ts | 29 + .../tag32/02_ts-objects/src/03_obj-extends.ts | 57 ++ .../tag32/02_ts-objects/src/04_more-types.ts | 107 ++++ 46 files changed, 1872 insertions(+), 3 deletions(-) create mode 100644 05_typescript/uebungen/u22_fn-optional-props/index.html create mode 100644 05_typescript/uebungen/u22_fn-optional-props/package.json create mode 100644 05_typescript/uebungen/u22_fn-optional-props/src/main.ts create mode 100644 05_typescript/uebungen/u23_fn-rest-params-args/index.html create mode 100644 05_typescript/uebungen/u23_fn-rest-params-args/package.json create mode 100644 05_typescript/uebungen/u23_fn-rest-params-args/src/main.ts create mode 100644 05_typescript/uebungen/u24_fn-destructuring/index.html create mode 100644 05_typescript/uebungen/u24_fn-destructuring/package.json create mode 100644 05_typescript/uebungen/u24_fn-destructuring/src/main.ts create mode 100644 05_typescript/uebungen/u25_obj-read-only/index.html create mode 100644 05_typescript/uebungen/u25_obj-read-only/package.json create mode 100644 05_typescript/uebungen/u25_obj-read-only/src/main.ts create mode 100644 05_typescript/uebungen/u26_obj-update/index.html create mode 100644 05_typescript/uebungen/u26_obj-update/package.json create mode 100644 05_typescript/uebungen/u26_obj-update/src/main.ts create mode 100644 05_typescript/uebungen/u27_obj-interface-props/index.html create mode 100644 05_typescript/uebungen/u27_obj-interface-props/package.json create mode 100644 05_typescript/uebungen/u27_obj-interface-props/src/main.ts create mode 100644 05_typescript/uebungen/u28_obj-excess-prop-check/index.html create mode 100644 05_typescript/uebungen/u28_obj-excess-prop-check/package.json create mode 100644 05_typescript/uebungen/u28_obj-excess-prop-check/src/main.ts create mode 100644 05_typescript/uebungen/u29_obj-extending-interface/index.html create mode 100644 05_typescript/uebungen/u29_obj-extending-interface/package.json create mode 100644 05_typescript/uebungen/u29_obj-extending-interface/src/main.ts create mode 100644 05_typescript/uebungen/u30_obj-subtyp/index.html create mode 100644 05_typescript/uebungen/u30_obj-subtyp/package.json create mode 100644 05_typescript/uebungen/u30_obj-subtyp/src/main.ts create mode 100644 05_typescript/uebungen/u31_obj-generics-fns/index.html create mode 100644 05_typescript/uebungen/u31_obj-generics-fns/package.json create mode 100644 05_typescript/uebungen/u31_obj-generics-fns/src/main.ts create mode 100644 05_typescript/uebungen/uebungen-22-31-ts.zip create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/assets/img/what-is-ts.webp create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/assets/js/01_obj-props-readonly.js create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/assets/js/02_excess-property-check.js create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/assets/js/03_obj-extends.js create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/assets/js/04_more-types.js create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/index.html create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/package-lock.json create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/package.json create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/src/01_obj-props-readonly.ts create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/src/02_excess-property-check.ts create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/src/03_obj-extends.ts create mode 100644 05_typescript/unterricht/tag32/02_ts-objects/src/04_more-types.ts diff --git a/05_typescript/uebungen/u20_fn-call-signatures/src/main.ts b/05_typescript/uebungen/u20_fn-call-signatures/src/main.ts index 3d05428..c9a4c17 100644 --- a/05_typescript/uebungen/u20_fn-call-signatures/src/main.ts +++ b/05_typescript/uebungen/u20_fn-call-signatures/src/main.ts @@ -18,7 +18,7 @@ type NumberFn = (value: number) => number; // halve: Teilt die eingegebene Zahl durch 2. // Der Parametertyp wird jeweils aus NumberOperation abgeleitet. -const double: NumberOperation = (value) => value * 2; +const double: NumberOperation = value => value * 2; // prettier-ignore const halve: NumberOperation = (value) => value / 2; const double2: NumberFn = (value) => value * 2; diff --git a/05_typescript/uebungen/u22_fn-optional-props/index.html b/05_typescript/uebungen/u22_fn-optional-props/index.html new file mode 100644 index 0000000..603c443 --- /dev/null +++ b/05_typescript/uebungen/u22_fn-optional-props/index.html @@ -0,0 +1,49 @@ + + + + + + Übung 22: Optionale Parameter implementieren + + + + +
+
+
+

Übung 22: Optionale Parameter implementieren

+

+ Erstelle die Funktion createUserProfile, die drei + Parameter benötigt: einen obligatorischen username und zwei + optionale Parameter, age und email. Die + Funktion sollte einen String mit einer Profilzusammenfassung + zurückgeben. Wenn keine optionalen Parameter angegeben werden, + sollten die Standardwerte verwendet werden, um das Profil zu + vervollständigen. +

+ +

Anweisungen:

+
    +
  • + Definiere eine Funktion createUserProfile, die + akzeptiert: +
      +
    • username (erforderlich, String)
    • +
    • age (optional, Zahl, Standardwert ist 18)
    • +
    • + email (optional, String, Standardwert: "N/A") +
    • +
    +
  • +
  • + Die Funktion sollte einen String zurückgeben, der das Profil des + Nutzers zusammenfasst. +
  • +
+
+
+
+ + diff --git a/05_typescript/uebungen/u22_fn-optional-props/package.json b/05_typescript/uebungen/u22_fn-optional-props/package.json new file mode 100644 index 0000000..88e6a06 --- /dev/null +++ b/05_typescript/uebungen/u22_fn-optional-props/package.json @@ -0,0 +1,13 @@ +{ + "name": "22_fn-optional-props", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "ts": "npx esbuild src/main.ts --watch --bundle --outfile=assets/js/bundle.js --loader:.ts=ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs" +} diff --git a/05_typescript/uebungen/u22_fn-optional-props/src/main.ts b/05_typescript/uebungen/u22_fn-optional-props/src/main.ts new file mode 100644 index 0000000..0a91631 --- /dev/null +++ b/05_typescript/uebungen/u22_fn-optional-props/src/main.ts @@ -0,0 +1,19 @@ +createUserProfile('JohnDoe', 25, 'john@example.com'); +// => "User JohnDoe is 25 years old and can be contacted at john@example.com." + +createUserProfile('JaneDoe'); +// => "User JaneDoe is 18 years old and can be contacted at N/A." + +// Übung 22: Optionale Parameter implementieren + +// Erstelle die Funktion createUserProfile, die drei Parameter benötigt: einen obligatorischen username und zwei optionale Parameter, age und email. Die Funktion sollte einen String mit einer Profilzusammenfassung zurückgeben. Wenn keine optionalen Parameter angegeben werden, sollten die Standardwerte verwendet werden, um das Profil zu vervollständigen. + +// Anweisungen: + +// Definiere eine Funktion createUserProfile, die akzeptiert: + +// username (erforderlich, String) +// age (optional, Zahl, Standardwert ist 18) +// email (optional, String, Standardwert: "N/A") + +// Die Funktion sollte einen String zurückgeben, der das Profil des Nutzers zusammenfasst. diff --git a/05_typescript/uebungen/u23_fn-rest-params-args/index.html b/05_typescript/uebungen/u23_fn-rest-params-args/index.html new file mode 100644 index 0000000..f5de609 --- /dev/null +++ b/05_typescript/uebungen/u23_fn-rest-params-args/index.html @@ -0,0 +1,58 @@ + + + + + + Übung 23: Restparameter und Restargumente + + + + +
+
+
+

Übung 23: Restparameter und Restargumente

+

+ Schreibe zwei Funktionen: eine, die Restparameter verwendet, um eine + unterschiedliche Anzahl von Zahlen zu akzeptieren und ihre Summe zu + berechnen, und eine andere, die die Spread-Syntax verwendet, um ein + Array von Zahlen in einzelne Argumente für eine mathematische + Funktion zu verteilen. +

+ +

Anweisungen:

+
    +
  1. + Definiere eine Funktion sumAll, die einen + Restparameter, bestehend aus einer variablen Anzahl von + numerischen Argumenten, annimmt und die Summe aller übergebenen + Zahlen zurückgibt. Verwende die Methode reduce, um die Summe des + Arrays zu berechnen. +
  2. +
  3. + Als Nächstes definierst du eine Funktion namens + calculateHypotenuse, die zwei Zahlen als Argumente + akzeptiert und die Hypotenuse mithilfe der Formel + √(a² + b²) + berechnet. Du solltest diese Funktion aufrufen, indem du ein Array + mit zwei Zahlen mit Hilfe der Spread-Syntax ausbreitest. (Tipp: + Verwende Math.sqrt()) +
  4. +
  5. + Teste schließlich die Funktion sumAll, indem du sie + mit mehreren Zahlen aufrufst und das Ergebnis protokollierst. + Teste die Funktion calculateHypotenuse, indem du ein + Array mit zwei Zahlen erstellst, dieses Array in die Funktion + überträgst und das Ergebnis protokollierst. Versuche außerdem, + calculateHypotenuse mit einem Array aufzurufen, das + nicht genau zwei Zahlen enthält, um das Type-Checking von + TypeScript zu beobachten. +
  6. +
+
+
+
+ + diff --git a/05_typescript/uebungen/u23_fn-rest-params-args/package.json b/05_typescript/uebungen/u23_fn-rest-params-args/package.json new file mode 100644 index 0000000..ad2213f --- /dev/null +++ b/05_typescript/uebungen/u23_fn-rest-params-args/package.json @@ -0,0 +1,13 @@ +{ + "name": "23_fn-rest-params-args", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "ts": "npx esbuild src/main.ts --watch --bundle --outfile=assets/js/bundle.js --loader:.ts=ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs" +} diff --git a/05_typescript/uebungen/u23_fn-rest-params-args/src/main.ts b/05_typescript/uebungen/u23_fn-rest-params-args/src/main.ts new file mode 100644 index 0000000..86f7f17 --- /dev/null +++ b/05_typescript/uebungen/u23_fn-rest-params-args/src/main.ts @@ -0,0 +1,23 @@ +// Example usage of sumAll +// Define total +console.log(total); // => 15 + +// Example usage of calculateHypotenuse with spread syntax +// Define hypotenuse +console.log(hypotenuse); // => 5 + +// Attempting to call calculateHypotenuse with incorrect number of arguments +const invalidSides = [3, 4, 5]; +// Define invalidHypotenuse to call calculateHypotenuse with invalidSides => TypeScript Error: Expected 2 arguments, but got 3. + +// Übung 23: Restparameter und Restargumente + +// Schreibe zwei Funktionen: eine, die Restparameter verwendet, um eine unterschiedliche Anzahl von Zahlen zu akzeptieren und ihre Summe zu berechnen, und eine andere, die die Spread-Syntax verwendet, um ein Array von Zahlen in einzelne Argumente für eine mathematische Funktion zu verteilen. + +// Anweisungen: + +// 1 Definiere eine Funktion sumAll, die einen Restparameter, bestehend aus einer variablen Anzahl von numerischen Argumenten, annimmt und die Summe aller übergebenen Zahlen zurückgibt. Verwende die Methode reduce, um die Summe des Arrays zu berechnen. + +// 2 Als Nächstes definierst du eine Funktion namens calculateHypotenuse, die zwei Zahlen als Argumente akzeptiert und die Hypotenuse mithilfe der Formel √(a² + b²) berechnet. Du solltest diese Funktion aufrufen, indem du ein Array mit zwei Zahlen mit Hilfe der Spread-Syntax ausbreitest. (Tipp: Verwende Math.sqrt()) + +// 3 Teste schließlich die Funktion sumAll, indem du sie mit mehreren Zahlen aufrufst und das Ergebnis protokollierst. Teste die Funktion calculateHypotenuse, indem du ein Array mit zwei Zahlen erstellst, dieses Array in die Funktion überträgst und das Ergebnis protokollierst. Versuche außerdem, calculateHypotenuse mit einem Array aufzurufen, das nicht genau zwei Zahlen enthält, um das Type-Checking von TypeScript zu beobachten. diff --git a/05_typescript/uebungen/u24_fn-destructuring/index.html b/05_typescript/uebungen/u24_fn-destructuring/index.html new file mode 100644 index 0000000..84a0500 --- /dev/null +++ b/05_typescript/uebungen/u24_fn-destructuring/index.html @@ -0,0 +1,48 @@ + + + + + + Übung 24: Parameter Destrukturierung + + + + +
+
+
+

Übung 24: Parameter Destrukturierung

+

+ In dieser Übung übst du die Anwendung der Parameterdestrukturierung + in TypeScript, indem du zwei einfache Funktionen erstellst. Die + erste Funktion destrukturiert einen Objektparameter und verwendet + einen Standardwert für eine seiner Eigenschaften. Die zweite + Funktion destrukturiert einen Array-Parameter. Beide Funktionen + enthalten Type Annotations, um sicherzustellen, dass sie die + richtige Struktur erhalten. +

+ +

Anweisungen:

+
    +
  1. + Erstelle eine Funktion displayUserInfo, die die + Eigenschaften name und age aus einem + Objektparameter destrukturiert und einen Standardwert für + age liefert. +
  2. +
  3. + Erstelle eine Funktion getFirstTwoElements, die die + ersten beiden Elemente aus einem Array-Parameter zerstört. +
  4. +
  5. + Teste deine Funktionen, indem du sie mit den richtigen Argumenten + aufrufst. +
  6. +
+
+
+
+ + diff --git a/05_typescript/uebungen/u24_fn-destructuring/package.json b/05_typescript/uebungen/u24_fn-destructuring/package.json new file mode 100644 index 0000000..ee867af --- /dev/null +++ b/05_typescript/uebungen/u24_fn-destructuring/package.json @@ -0,0 +1,13 @@ +{ + "name": "24_fn-destructuring", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "ts": "npx esbuild src/main.ts --watch --bundle --outfile=assets/js/bundle.js --loader:.ts=ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs" +} diff --git a/05_typescript/uebungen/u24_fn-destructuring/src/main.ts b/05_typescript/uebungen/u24_fn-destructuring/src/main.ts new file mode 100644 index 0000000..82a2399 --- /dev/null +++ b/05_typescript/uebungen/u24_fn-destructuring/src/main.ts @@ -0,0 +1,19 @@ +// Example usage of displayUserInfo +displayUserInfo({ name: 'John' }); // => Hello, John! You are 25 years old. +displayUserInfo({ name: 'Alice', age: 30 }); // => Hello, Alice! You are 30 years old. + +// Example usage of getFirstTwoElements +getFirstTwoElements([5, 10]); // => First: 5, Second: 10 +getFirstTwoElements([8]); // => First: 8, Second: undefined + +// Übung 24: Parameter Destrukturierung + +// In dieser Übung übst du die Anwendung der Parameterdestrukturierung in TypeScript, indem du zwei einfache Funktionen erstellst. Die erste Funktion destrukturiert einen Objektparameter und verwendet einen Standardwert für eine seiner Eigenschaften. Die zweite Funktion destrukturiert einen Array-Parameter. Beide Funktionen enthalten Type Annotations, um sicherzustellen, dass sie die richtige Struktur erhalten. + +// Anweisungen: + +// 1 Erstelle eine Funktion displayUserInfo, die die Eigenschaften name und age aus einem Objektparameter destrukturiert und einen Standardwert für age liefert. + +// 2 Erstelle eine Funktion getFirstTwoElements, die die ersten beiden Elemente aus einem Array-Parameter zerstört. + +// 3 Teste deine Funktionen, indem du sie mit den richtigen Argumenten aufrufst. diff --git a/05_typescript/uebungen/u25_obj-read-only/index.html b/05_typescript/uebungen/u25_obj-read-only/index.html new file mode 100644 index 0000000..8b33cab --- /dev/null +++ b/05_typescript/uebungen/u25_obj-read-only/index.html @@ -0,0 +1,68 @@ + + + + + + Übung 25: Optionale und readonly Eigenschaften + + + + +
+
+
+

Übung 25: Optionale und readonly Eigenschaften

+

+ In dieser Übung erstellst du eine interface für ein + »Product«, die erforderliche, optionale und readonly Eigenschaften + enthält. Anschließend schreibst du eine Funktion, die Informationen + über das Produkt protokolliert und dabei optionale Eigenschaften + korrekt behandelt. +

+ +

Anweisungen:

+
    +
  1. + Definiere ein Product Interface, die Folgendes + beinhaltet: +
      +
    • + Erforderliche Eigenschaften id (Number) und + name (String). +
    • +
    • + Optionale Eigenschaften price (Number) und + description (String). +
    • +
    • + Eine readonly category (String) + Eigenschaft. +
    • +
    +
  2. +
  3. + Schreibe eine Funktion printProductDetails, die ein + Product Objekt annimmt und: +
      +
    • + Druckt die name, category und + id. +
    • +
    • + Wenn price undefined ist, drucke + "Price: Not available". +
    • +
    • + Wenn description undefined ist, + drucke "No description availabler". +
    • +
    +
  4. +
+
+
+
+ + diff --git a/05_typescript/uebungen/u25_obj-read-only/package.json b/05_typescript/uebungen/u25_obj-read-only/package.json new file mode 100644 index 0000000..a5ad3f3 --- /dev/null +++ b/05_typescript/uebungen/u25_obj-read-only/package.json @@ -0,0 +1,13 @@ +{ + "name": "25_obj-read-only", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "ts": "npx esbuild src/main.ts --watch --bundle --outfile=assets/js/bundle.js --loader:.ts=ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs" +} diff --git a/05_typescript/uebungen/u25_obj-read-only/src/main.ts b/05_typescript/uebungen/u25_obj-read-only/src/main.ts new file mode 100644 index 0000000..2b0f1e6 --- /dev/null +++ b/05_typescript/uebungen/u25_obj-read-only/src/main.ts @@ -0,0 +1,17 @@ +// Übung 25: Optionale und readonly Eigenschaften + +// In dieser Übung erstellst du eine interface für eine Product, die erforderliche, optionale und readonly Eigenschaften enthält. Anschließend schreibst du eine Funktion, die Informationen über das Produkt protokolliert und dabei optionale Eigenschaften korrekt behandelt. + +// Anweisungen: + +// 1 Definiere ein Product Interface, die Folgendes beinhaltet: + +// Erforderliche Eigenschaften id (Number) und name (String). +// Optionale Eigenschaften price (Number) und description (String). +// Eine readonly category (String) Eigenschaft. + +// 2 Schreibe eine Funktion printProductDetails, die ein Product Objekt annimmt und: + +// Druckt die name, category und id. +// Wenn price undefined ist, drucke "Price: Not available". +// Wenn description undefined ist, drucke "No description availabler". diff --git a/05_typescript/uebungen/u26_obj-update/index.html b/05_typescript/uebungen/u26_obj-update/index.html new file mode 100644 index 0000000..b27bf67 --- /dev/null +++ b/05_typescript/uebungen/u26_obj-update/index.html @@ -0,0 +1,63 @@ + + + + + + Übung 26: Eine verschachtelte Objekteigenschaft aktualisieren + + + + +
+
+
+

Übung 26: Eine verschachtelte Objekteigenschaft aktualisieren

+

+ In dieser Übung definierst du ein Interface mit readonly und + veränderbaren Eigenschaften und aktualisierst ein verschachteltes + Objekt innerhalb des Interfaces. Du übst den Umgang mit + verschachtelten Objekten und readonly Eigenschaften. +

+ +

Anweisungen:

+
    +
  1. + Erstelle ein Employee Interface, die Folgendes + enthält: +
      +
    • + Eine readonly employeeId (Number) + Eigenschaft. +
    • +
    • + Eine veränderbare Detail-Eigenschaft, die ein Objekt ist, das + Folgendes enthält: position (String) und + salary (Number) +
    • +
    +
  2. +
  3. + Schreibe eine Funktion updateEmployeePosition die: +
      +
    • + Akzeptiert ein Employee Objekt und einen neuen + position String. +
    • +
    • + Aktualisiert die position des Mitarbeiters, + verhindert aber jede Änderung der employeeId. +
    • +
    +
  4. +
  5. + Teste die Funktion, indem du ein Employee-Objekt erstellst und die + Position aktualisierst. +
  6. +
+
+
+
+ + diff --git a/05_typescript/uebungen/u26_obj-update/package.json b/05_typescript/uebungen/u26_obj-update/package.json new file mode 100644 index 0000000..9ee6218 --- /dev/null +++ b/05_typescript/uebungen/u26_obj-update/package.json @@ -0,0 +1,13 @@ +{ + "name": "26_obj-update", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "ts": "npx esbuild src/main.ts --watch --bundle --outfile=assets/js/bundle.js --loader:.ts=ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs" +} diff --git a/05_typescript/uebungen/u26_obj-update/src/main.ts b/05_typescript/uebungen/u26_obj-update/src/main.ts new file mode 100644 index 0000000..2ca73d2 --- /dev/null +++ b/05_typescript/uebungen/u26_obj-update/src/main.ts @@ -0,0 +1,19 @@ +// Übung 26: Eine verschachtelte Objekteigenschaft aktualisieren + +// In dieser Übung definierst du ein Interface mit readonly und veränderbaren Eigenschaften und aktualisierst ein verschachteltes Objekt innerhalb des Interfaces. Du übst den Umgang mit verschachtelten Objekten und readonly Eigenschaften. + +// Anweisungen: + +// Erstelle ein Employee Interface, die Folgendes enthält: + +// Eine readonly employeeId (Number) Eigenschaft. + +// Eine veränderbare Detail-Eigenschaft, die ein Objekt ist, das Folgendes enthält: position (String), salary (Number) + +// Schreibe eine Funktion updateEmployeePosition die: + +// Akzeptiert ein Employee Objekt und einen neuen position String. + +// Aktualisiert die position des Mitarbeiters, verhindert aber jede Änderung der employeeId. + +// Teste die Funktion, indem du ein Employee-Objekt erstellst und die Position aktualisierst. diff --git a/05_typescript/uebungen/u27_obj-interface-props/index.html b/05_typescript/uebungen/u27_obj-interface-props/index.html new file mode 100644 index 0000000..9da2cc2 --- /dev/null +++ b/05_typescript/uebungen/u27_obj-interface-props/index.html @@ -0,0 +1,84 @@ + + + + + + + Übung 27: Kombiniere Optional, Readonly und Required Properties in einem + Interface + + + + + +
+
+
+

+ Übung 27: Kombiniere Optional, Readonly und Required Properties in + einem Interface +

+

+ In dieser Übung erstellst du ein Car Interface mit + required, optional und readonly Eigenschaften. Anschließend + schreibst du eine Funktion, um ein neues Car Objekt zu + erstellen und Änderungen an veränderbaren Eigenschaften zu + verarbeiten. +

+ +

Anweisungen:

+
    +
  1. + Definiere ein Car Interface, die Folgendes + beinhaltet: +
      +
    • + Erforderliche Eigenschaften make (string) und + model (string). +
    • +
    • + Optionale Eigenschaften year (Number) und + color (String). +
    • +
    • + Eine readonly vin (string) Eigenschaft + (Fahrzeugidentifikationsnummer). +
    • +
    +
  2. +
  3. + Schreibe eine Funktion createCar die: +
      +
    • + Nimmt make, model und + vin auf und gibt ein Car Objekt + zurück. +
    • +
    • + Optional können year und color + akzeptiert werden. +
    • +
    +
  4. +
  5. + Schreibe eine weitere Funktion paintCar die: +
      +
    • + Akzeptiert ein Car Objekt und einen neuen + color String. +
    • +
    • + Aktualisiert die color des Fahrzeugs (falls + vorhanden), verhindert aber jede Änderung an der + vin. +
    • +
    +
  6. +
+
+
+
+ + diff --git a/05_typescript/uebungen/u27_obj-interface-props/package.json b/05_typescript/uebungen/u27_obj-interface-props/package.json new file mode 100644 index 0000000..b9453a4 --- /dev/null +++ b/05_typescript/uebungen/u27_obj-interface-props/package.json @@ -0,0 +1,13 @@ +{ + "name": "27_obj-interface-props", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "ts": "npx esbuild src/main.ts --watch --bundle --outfile=assets/js/bundle.js --loader:.ts=ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs" +} diff --git a/05_typescript/uebungen/u27_obj-interface-props/src/main.ts b/05_typescript/uebungen/u27_obj-interface-props/src/main.ts new file mode 100644 index 0000000..8f3f362 --- /dev/null +++ b/05_typescript/uebungen/u27_obj-interface-props/src/main.ts @@ -0,0 +1,25 @@ +// Übung 27: Kombiniere Optional, Readonly und Required Properties in einem Interface + +// In dieser Übung erstellst du ein Car Interface mit required, optional und readonly Eigenschaften. Anschließend schreibst du eine Funktion, um ein neues Car Objekt zu erstellen und Änderungen an veränderbaren Eigenschaften zu verarbeiten. + +// Anweisungen: + +// 1 Definiere ein Car Interface, die Folgendes beinhaltet: + +// Erforderliche Eigenschaften make (string) und model (string). + +// Optionale Eigenschaften year (Number) und color (String). + +// Eine readonly vin (string) Eigenschaft (Fahrzeugidentifikationsnummer). + +// 2 Schreibe eine Funktion createCar die: + +// Nimmt make, model und vin auf und gibt ein Car Objekt zurück. + +// Optional können year und color akzeptiert werden. + +// 3 Schreibe eine weitere Funktion paintCar die: + +// Akzeptiert ein Car Objekt und einen neuen color String. + +// Aktualisiert die color des Fahrzeugs (falls vorhanden), verhindert aber jede Änderung an der vin. diff --git a/05_typescript/uebungen/u28_obj-excess-prop-check/index.html b/05_typescript/uebungen/u28_obj-excess-prop-check/index.html new file mode 100644 index 0000000..41e47fa --- /dev/null +++ b/05_typescript/uebungen/u28_obj-excess-prop-check/index.html @@ -0,0 +1,53 @@ + + + + + + Übung 28: Excess Property Checks mit Object Literals + + + + +
+
+
+

Übung 28: Excess Property Checks mit Object Literals

+

+ In dieser Übung definierst du ein Interface Car und + schreibst eine Funktion, die ein Objekt vom Typ + Car annimmt. Du wirst untersuchen, wie TypeScript + Excess Property Checks erzwingt, indem es versucht, ein Objekt mit + zusätzlichen Eigenschaften an die Funktion zu übergeben. +

+ +

Anweisungen:

+
    +
  1. + Definiere ein Car Interface mit den folgenden + Eigenschaften: +
      +
    • make: String
    • +
    • model: String
    • +
    • year: Number
    • +
    +
  2. +
  3. + Schreibe eine Funktion printCarDetails, die ein + Objekt vom Typ Car annimmt und die Details des Autos + ausgibt (make, model und + year). +
  4. +
  5. + Versuche, der Funktion ein Objekt zu übergeben, das eine + zusätzliche Eigenschaft hat, z. B. color. Beobachte, + wie TypeScript mit der überzähligen Eigenschaft umgeht und + erkläre, warum der Fehler auftritt. +
  6. +
+
+
+
+ + diff --git a/05_typescript/uebungen/u28_obj-excess-prop-check/package.json b/05_typescript/uebungen/u28_obj-excess-prop-check/package.json new file mode 100644 index 0000000..0e52588 --- /dev/null +++ b/05_typescript/uebungen/u28_obj-excess-prop-check/package.json @@ -0,0 +1,13 @@ +{ + "name": "28_obj-excess-prop-check", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "ts": "npx esbuild src/main.ts --watch --bundle --outfile=assets/js/bundle.js --loader:.ts=ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs" +} diff --git a/05_typescript/uebungen/u28_obj-excess-prop-check/src/main.ts b/05_typescript/uebungen/u28_obj-excess-prop-check/src/main.ts new file mode 100644 index 0000000..b9539bd --- /dev/null +++ b/05_typescript/uebungen/u28_obj-excess-prop-check/src/main.ts @@ -0,0 +1,15 @@ +// Übung 28: Excess Property Checks mit Object Literals + +// In dieser Übung definierst du ein Interface Car und schreibst eine Funktion, die ein Objekt vom Typ Car annimmt. Du wirst untersuchen, wie TypeScript Excess Property Checks erzwingt, indem es versucht, ein Objekt mit zusätzlichen Eigenschaften an die Funktion zu übergeben. + +// Anweisungen: + +// 1 Definiere ein Car Interface mit den folgenden Eigenschaften: + +// - make: String +// - model: String +// - year: Number + +// 2 Schreibe eine Funktion printCarDetails, die ein Objekt vom Typ Car annimmt und die Details des Autos ausgibt (make, model und year). + +// 3 Versuche, der Funktion ein Objekt zu übergeben, das eine zusätzliche Eigenschaft hat, z. B. color. Beobachte, wie TypeScript mit der überzähligen Eigenschaft umgeht und erkläre, warum der Fehler auftritt. diff --git a/05_typescript/uebungen/u29_obj-extending-interface/index.html b/05_typescript/uebungen/u29_obj-extending-interface/index.html new file mode 100644 index 0000000..23c0bbd --- /dev/null +++ b/05_typescript/uebungen/u29_obj-extending-interface/index.html @@ -0,0 +1,43 @@ + + + + + + Übung 29: Extending einer einzelnen Interface + + + + +
+
+
+

Übung 29: Extending einer einzelnen Interface

+

+ In dieser Übung wirst du eine bestehende + Product Interface erweitern, um einen spezifischeren + Typ Electronics zu erstellen. Du wirst zusätzliche + Eigenschaften für Elektronikprodukte definieren und ein Objekt des + Typs Electronics + erstellen. +

+ +

Anweisungen:

+
    +
  1. + Definiere ein Product Interface mit den Eigenschaften + id, name und price. +
  2. +
  3. + Erweitere die Product Interface um eine + Electronics Interface und füge die Eigenschaften + brand und warranty hinzu. +
  4. +
  5. Erstelle ein Objekt vom Typ Electronics.
  6. +
+
+
+
+ + diff --git a/05_typescript/uebungen/u29_obj-extending-interface/package.json b/05_typescript/uebungen/u29_obj-extending-interface/package.json new file mode 100644 index 0000000..f8c17c8 --- /dev/null +++ b/05_typescript/uebungen/u29_obj-extending-interface/package.json @@ -0,0 +1,13 @@ +{ + "name": "29_obj-extending-interface", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "ts": "npx esbuild src/main.ts --watch --bundle --outfile=assets/js/bundle.js --loader:.ts=ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs" +} diff --git a/05_typescript/uebungen/u29_obj-extending-interface/src/main.ts b/05_typescript/uebungen/u29_obj-extending-interface/src/main.ts new file mode 100644 index 0000000..6e135fa --- /dev/null +++ b/05_typescript/uebungen/u29_obj-extending-interface/src/main.ts @@ -0,0 +1,11 @@ +// Übung 29: Extending einer einzelnen Interface + +// In dieser Übung wirst du eine bestehende Product Interface erweitern, um einen spezifischeren Typ Electronics zu erstellen. Du wirst zusätzliche Eigenschaften für Elektronikprodukte definieren und ein Objekt des Typs Electronics erstellen. + +// Anweisungen: + +// 1 Definiere ein Product Interface mit den Eigenschaften id, name und price. + +// 2 Erweitere die Product Interface um eine Electronics Interface und füge die Eigenschaften brand und warranty hinzu. + +// 3 Erstelle ein Objekt vom Typ Electronics. diff --git a/05_typescript/uebungen/u30_obj-subtyp/index.html b/05_typescript/uebungen/u30_obj-subtyp/index.html new file mode 100644 index 0000000..837219e --- /dev/null +++ b/05_typescript/uebungen/u30_obj-subtyp/index.html @@ -0,0 +1,47 @@ + + + + + + + Übung 30: Einzigartige Eigenschaften zu einem Subtyp hinzufügen + + + + + +
+
+
+

+ Übung 30: Einzigartige Eigenschaften zu einem Subtyp hinzufügen +

+

+ In dieser Übung wirst du die Product Interface + erweitern, um einen Typ Furniture zu erstellen, der + spezielle Eigenschaften für Möbel hinzufügt, wie + material und dimensions. +

+ +

Anweisungen:

+
    +
  1. + Erweitere die Product Interface, um eine + Furniture Interface zu erstellen. +
  2. +
  3. + Füge die Eigenschaften material und + dimensions zu den Möbeln hinzu. +
  4. +
  5. + Erstelle ein Objekt vom Typ Furniture, das ein Möbelstück + darstellt. +
  6. +
+
+
+
+ + diff --git a/05_typescript/uebungen/u30_obj-subtyp/package.json b/05_typescript/uebungen/u30_obj-subtyp/package.json new file mode 100644 index 0000000..9a80620 --- /dev/null +++ b/05_typescript/uebungen/u30_obj-subtyp/package.json @@ -0,0 +1,13 @@ +{ + "name": "30_obj-subtyp", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "ts": "npx esbuild src/main.ts --watch --bundle --outfile=assets/js/bundle.js --loader:.ts=ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs" +} diff --git a/05_typescript/uebungen/u30_obj-subtyp/src/main.ts b/05_typescript/uebungen/u30_obj-subtyp/src/main.ts new file mode 100644 index 0000000..b64073b --- /dev/null +++ b/05_typescript/uebungen/u30_obj-subtyp/src/main.ts @@ -0,0 +1,11 @@ +// Übung 30: Einzigartige Eigenschaften zu einem Subtyp hinzufügen + +// In dieser Übung wirst du die Product Interface erweitern, um einen Typ Furniture zu erstellen, der spezielle Eigenschaften für Möbel hinzufügt, wie material und dimensions. + +// Anweisungen: + +// 1 Erweitere die Product Interface, um eine Furniture Interface zu erstellen. + +// 2 Füge die Eigenschaften material und dimensions zu den Möbeln hinzu. + +// 3 Erstelle ein Objekt vom Typ Furniture, das ein Möbelstück darstellt. diff --git a/05_typescript/uebungen/u31_obj-generics-fns/index.html b/05_typescript/uebungen/u31_obj-generics-fns/index.html new file mode 100644 index 0000000..c4ba6f9 --- /dev/null +++ b/05_typescript/uebungen/u31_obj-generics-fns/index.html @@ -0,0 +1,42 @@ + + + + + + Übung 31: Generic Functions für Arrays + + + + +
+
+
+

Übung 31: Generic Functions für Arrays

+

+ In dieser Übung erstellst du eine generische Funktion, die mit + Arrays beliebigen Typs funktioniert. Du definierst eine Funktion, + die das erste Element des Arrays zurückgibt und es TypeScript + ermöglicht, den Elementtyp aus dem übergebenen Array abzuleiten. +

+ +

Anweisungen:

+
    +
  1. + Definiere eine generische Funktion + getFirstElement, die ein Array beliebigen Typs + annimmt und das erste Element oder undefined zurückgibt, wenn das + Array leer ist. +
  2. +
  3. + Rufe die Funktion mit Arrays verschiedener Typen auf + (number[], string[], etc.) und + protokolliere das Ergebnis. +
  4. +
+
+
+
+ + diff --git a/05_typescript/uebungen/u31_obj-generics-fns/package.json b/05_typescript/uebungen/u31_obj-generics-fns/package.json new file mode 100644 index 0000000..9af4f66 --- /dev/null +++ b/05_typescript/uebungen/u31_obj-generics-fns/package.json @@ -0,0 +1,13 @@ +{ + "name": "31_obj-generics-fns", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "ts": "npx esbuild src/main.ts --watch --bundle --outfile=assets/js/bundle.js --loader:.ts=ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs" +} diff --git a/05_typescript/uebungen/u31_obj-generics-fns/src/main.ts b/05_typescript/uebungen/u31_obj-generics-fns/src/main.ts new file mode 100644 index 0000000..dd947ed --- /dev/null +++ b/05_typescript/uebungen/u31_obj-generics-fns/src/main.ts @@ -0,0 +1,9 @@ +// Übung 31: Generic Functions für Arrays + +// In dieser Übung erstellst du eine generische Funktion, die mit Arrays beliebigen Typs funktioniert. Du definierst eine Funktion, die das erste Element des Arrays zurückgibt und es TypeScript ermöglicht, den Elementtyp aus dem übergebenen Array abzuleiten. + +// Anweisungen: + +// 1 Definiere eine generische Funktion getFirstElement, die ein Array beliebigen Typs annimmt und das erste Element oder undefined zurückgibt, wenn das Array leer ist. + +// 2 Rufe die Funktion mit Arrays verschiedener Typen auf (number[], string[], etc.) und protokolliere das Ergebnis. diff --git a/05_typescript/uebungen/uebungen-22-31-ts.zip b/05_typescript/uebungen/uebungen-22-31-ts.zip new file mode 100644 index 0000000000000000000000000000000000000000..feef1671b60593ab51416671bcd8fba6e4e45ecf GIT binary patch literal 24305 zcmbt+Wmu5O_ckfrA>G~G-67p6A)V6Q-5pAI3rLrAcS(n&(j`c~pg;dF?y9?c$zHg- zAH2^qbIzRm)QqeoFbFch!;h#VipJOf_}?F>0C)iQ3=Gc=Evc=n?M$pJb>%0@`QOw!g95yMz^0@xH z%>1Qeee8MqidgVqC?_MMA3=!%jy`0>#MRc_eXw^zs3N~1LhVPG^bGW$NVa>EI%ryCgsYS&V+Ri%0 zkrAQ|=_{fQ`@W?34X+LVDH|}dM{vhMpUc*37u$HzT)xHJK_^`8&~{mJ~LhI)Wzd!Y?uogy;Mj^JIK9^ zz$xpB>ZnMf(irKNI1?Hf8d*wWd+cP4vg20Z452vi`Lt*Q6PJ-nF5QC-9jIJ;X|BUP zDhV59E`pqTwkhX>a<8U?0<7dmYay41JOEZO@~_d#M@$iT*VD0y*q`glsU?VTavsE* z1~a2*Jg>%K7hxSz6E?DIhf`rZjTPH<92fqWv|E?D2jI~+3GLDWln0!jc(Aeuy6R=n zD2x$s!$1hW->GC>`FxdcQ7q2T$lO&e@X2iRO(2cL`)e*<7N?$A$Q#%tEpbXaoQCt@ zc1P#4WYOyc+NHFyJp#nND~#aHF$1Lc@4W8-WhKGDcTMgnw}Aivkih@|etoJ4etD{_ zb@k13jSOf^ZLKVSb*`Y$@{J$Pm2f0I91uRV|M?Y)-)y6TC=w~Dk*GejKscEw#KtL2 z_njpm66xGQ^XD-~Lcdc}fO-U*W}fHnq4;X2{nhw-c=f#zq(XX0QpJ|D)RfG89CLaj z68^rGxo?+RCl@`TilSAWYzHzX#{|pLU1_K{=y(u@gMthq-5;3%VxK) zQ6q1k$SfWAlrtI6da}x$VGt%|yBNlL6q{Hfi5SN<#O|semz%WtZmLUW|4xsTc3!-!-Wt~w={Hn+f%b&BSJ}V+s z#8Z$zvQ~dCJ)zxn8EK+2Fu=s8k>Y8tQKnn1-qDk-Ic#;0Uw&nmx6vE zfNT@Okg(!D5ZLJ>svdf61vD$yNPYAraYlWbFCn=J!Vf3>HbJn+7*rxK{#BL;p zY(&@ZK62T3Ybpe^2m9dD1SF?WF9+pCv~8#N*X3Fhun;-U)ByUvgwKjaT37xeH_SUb zqmHtkLaVk%YTvn|IWszJGbdPcY<}vry`A)#g!_hOj@>_1g}QCl^f@#FH6l?L$DLWd z7j2zm7dNkqPS(?eHufv}CM&!2@_@pnIlD1TCrha{<^qUtm$dMt{P!-@L-lQU9530q=SI zE88kdM$C)AFJ2*|lywIQk=)|7c_9)waUFJx>qr3+HIk?y&YQ9%@0&{HAgx1t16pl@ zXpi(ah)c(OB00kswPpw%EARVIta4zF!g=%QQ@#r8yPInaiK59<@lSW&h%W5GkYRZ; z0ON?ltF#xD0*FzG?W#HArvpQ07gyjh6M^cAY{AorRms5E#&At0a?V^kui+zpPckhQY*|E9Y*zU~=%i!d!ueWDUQANla_@*= zQylvwwE&p8fFwFMTtI_hJi2Bm+#I~5k2JcxBt~k95q3hUH<*yj+S~9IiG|K6>nv1? zp?$?{D0xnr!|b>~8NNywYj9KAbr7*J%Ua?XPY!OUDTdD>r)5})-)xGIi)1>tggPv* zdn3CR;Gpfasv-EiMx6EDX~>IGx#vI(V+hEIVC2)rmU2(U2(6WZJ^^w_o0@A&P{j>O z`Xw)g$hS32A96m=2q*=vn9~zPgrVg&>Z8)xFA52+!_n@hckT-l!5`fMZu=-DI(#>T z*+CPwg_&?Z5(whz#Hio785cguV;CCZZR9$uQ_;w3Q7IuCd`(zi;8EyW?Z%%HC(EGi zM&ZzIdS2p6pK5|SSLs?p|N11$NV@cMBi|8A#HI2}{ZlId%~hZIsA}Uv9PnIct(D0J z(>%pje!|5Ga1+2$Y0ZSF3y29+c;H4IP`mYX@-MVYvtI)v549&}MDz6b=0TJiD9O>$ zI-xv64LN7s-Je|~HoS%saAL9~`t8gK znVp`>yA?k$W-#MG9F7oIAwLOu@~L(+-IWFwl%luhw_kP+ppL#ExxvhC$;faL`1Urx z*lmjk)}ZX#h#fJOkwCT7U1)cunawGh$WihD=v{X)xIB9eJnzAILNn+j^d*d5bD=k{ z9xDU;v#`dPhULu6t?sto^WljePWQD&04Gk$;KoRg7*Owb3%Y>~rC6^vC`+R9Q_`JW zZGClW-pZ&t?Y-uggbFV#)UFuTb?h>#Pt82ZO|}2jSHI-65VP{&*D*$@K{EQeRK@;ORS^eck7s?MgS<-w@o*QV?0HF^ zjbr|tOhCTdTNCT+qE0vBFM?Or3tzTQJ~zP|N~A)F+`h?-A*ts0^65m^z@3d0>#0d4 zFJF$hYtagvFx%?QSDy8H0`nXN1OVU|;=616S-?;98`t)4f)nKL!ATUa6%aji*ZCE) z+~y|i987Q_5+k8NFHs)I@z#qiNbsY@9myz;uG?m#cSIx7;D@yk~}AhbUOT z*}6XqQV9P6`QL^qN<$BcSj!2r?K8z#aCsWMs4Sol0&p;&GL_)WT=m{m^6uXP^dX(1 z7fEP30S%`dzCIP_Xk>|iQTz}^wuC)$KE%5GEKh;0(V!9$e5n$MpSI0~{i&W2hrfcR zjsHrOz8>jBzo|D;W~dw&Ixb)rR(k7Fn{<#zJefYhi4S{|s>)pEG3shSBci!M)P~Oc z{)%}V+1W0b(V8CY7rtzcum&4-6hZo4NOwK!6cgP#n|#j6Sr8z})dJf$aT6;iXJ+RK$YUrC!54`sCxxI_+{X+*2``eP~=dfbzQ0P0bKG&uoiZ%NR za3)FVRiC9#D&$_h6}<47RvM%Wj-WWAh$J0(qX+%`MJ|6Dfw^T=N4*MVPqlzOxR^ar zl&xFz7RC@v5tbH^b~l-X)KeBp_Dvrn;&x37Rq_>e$_o)**|u(A4U4EbuK*libm`vm zLwUVA;tG072=?GadRjuXi5T#7VY|+K0*(*N2uYY7)9#8K*(WfN5-gr&mVkU4%&4F1o$G*oV72XAAFDv%cn_)ns*o`#SWY0lQB zEEgb`zPB-G|I9I^W~gCqWlj_h^K_tfvbCNC5%l`z%(XKOX9YM%25v2a8O7t1w}U@k zB@Iy}x6dGL`12{Kpgo7{c!$BK+eLH&_6HBAtrX|0xyWsu`@}C1ifd2)8 zsY+5-^K{V7=PK4btkcugGqN*n4a}e}rrx=M*eIdFQ~j0rV-VxZmCF?hR$uh9*WG42 zrY#bu^9p*ldPGTFZQaieF84fuh?NZ8V*EXIa$)&rCV8>(R8_WfshMgrS7(ES%ps~vYnuoglvx)-VRa=cj4H<_7_LK^(0L}daCjwP8 zvRp+W%ui+Z(ww9aw**R#)xJCzB2|p@^$_)iOC|p{S$I0{UFJ)}_p;T#3OY6e;$SIvUzjJ`CczoQf{&QT}^pkHpPLj#MfAVq5C+i_;u z+&vc~L(J!S!^_xUBV8uyS}lJOrjG4tlOCTdk5Ptdpx!uN3IbsC&+7!k7b$ILqpyge9ez;zid-gGHD%GJ++ z8SLnPGzDNe?aQzS++lr!4satswq1@$wns@AFn(RE43&d91Tmq+O|M!Zb4}^e^|FEv z%HeH!vmcmnz_8zzwf@Q4yE+;A!MsoOaJLI^ZimLX&WUu1sjMB=RC8hju!k==9rqUA z2@oSyv#TdJeN4O}c6I9Ow7fFR(&#haxfr-WdN{DK?R6SQ_w^Tw|2wch3v#|C{XaRd z|0cqT*v^}rH5BcuHufM`T1R_83;t5I*ivD;z z^coRT7)g@uhq^HkO|-SF3`;@ra|?MmgfPz!j&-lFc{fW%)ehpF_(_q~4CU2qh&DNVy%e6DirtGW&hR#Dq zw=$qOVmr%nA_MFqf!bmHGf2if!zW{-U1uBgrW7-65`9QBB3GSQNXO^h9K4!}H$D=2 z2N}sH#od~ZLm8xybYkg(YkrUf+b|AL`!9m-2QBX3t z+xHqol6tmG<`{~9#k$|lnz?QM#>X?vrV4Z z{5%G|64V!b0k+I(i2J}JO@&ElM3-GATN-spX{QUD6@dqYUR7>r?%B!dRz1 zVy|C$tCYk~h0Y|r!L%z^i07U*%!(xR^fWO6{EB%U9~V1!JESLM7>>%}Mt2T2U^m z-4!Ei72bIssQE;`Ywnv!$D4gBqXL>J+fV2V*AxV^r5VBJpQ#B{y*bPtOiJTQ%9skM zkGyAaJ-{39R1Q(1*K;`%aE2im5}0$&mc2S38kUzR0;>tm(%l0iBk(~Ff54)5gAUX4 zt6^g(m{%mRy5(@@VXk_USUVh9nTiP!oq7|1800zu*QkDQ znxMAz&S?JFGA@mwr$}o+?5o5i5zJu6_zE7M1>?w9J_k96!W7nowkgcCq_S617+L&e@C4AhpwnR~wGUjYE9Zp~^e^jH~@^>jn0L#$(2bO0=d0$O_*N zA@S+HOcwD!kAKaW0ENBG;VoflUNXk06;H+3&1vO)_TJ>$^%@Lm+&O{MF)2v0P#+_h zLpGEmJY|`}4m69`+Oa-99?a;3=|e=0&2EBqP_2LjmUk=hoN)VGtH_J#;*=L6=B~o^ zlc6*k1nW<1gq=)~g>uQOWG#&HNT($s5YrDB{&<`)Ly<6K62Oz1- ztpF;GarP$FN#k<{5fhod+jmNNi8;W{GO)6K7mR zoCtURhbDBCo`NOFkS45fN#R9$900ZsVrC+BXhb{zPmrUDA1mKz6c6~z#i?a*3S`}U z@}Z3M@L-CajEr{iQoTrlljKb(Kabm1YiTNyq!=j9xCK$f#DOik@i||TXm&waHtNXR z=4w51Y3S4v_|)dRoGujYX8{Wi0q9u>!mMF=Tr;h4*H^?e0_wAqYV}|HQnC9&MwO-?tAqFgNf!5!xcu2EfDP9 z1;&*=;38hbh~~w+d=#FnG&^HXA?Wr(udAgj?$|6{S~ft`MUWtNO?1SUf=VmN?b~0_ zr0qHhxk$^^H{rF=(R8ru=16019N|a@p$QN#c`Ih0Zv-a#ojJO-&xNK(9Bro0$UMXV zeAoj~T=zlytKSwnaDIB~|4jfeeDXa2XoGC0gAO=w4Hmp1|GIK zuBSvmYGq;NQmblpoQWk7sv!+}j^?EYGT)F+Dgv@yGqg&ykXnn<1tc}PlR`#t#+|Cao}^_KtY)BcS4v45(8e?j~I*LI1iFkRz=54hs$ zilP8Svh_Aw0Nv%o;EW_3RFy2TwzV=f8KRXQm7XlhX>o)WF2Q=gUu)Ii`@1-psr z09FtgZ%D{ad2Xw^PH#6dP*=_nDJjCiXilrjUPsP?h}++h=5V_7cC~JMcFgUStmrY^ zR>TUjU>R`-51DGxBuU=Mq18L?f!m4MO(uQ7f5JG)1mL9NMJj6>A*ks85pq(R3)(nn zgMX>DbOTTg#^0(+q)V@?S9J>@Yzuif=p4;goJ*bYMWL3MSazEs#yBth?nlFU=FbW9 zfNGk+4bI~ImG7DdJ}o}I5H*+|cxK)qxsmC)U(sixJuTPZ=RSEZIWp-Cy_%-oZK2Z= z%%wC=?#&#tHk#(qPL!;5L@Fisvd9d&DY8llbp-&wy@t_euRdk7`oO*Y-ts1 z6eIK>yT;*@&rn?T#+4+3aK=v+mB^;uvNC!@0Kb-~oRB0!8Lnc#LFUs`>6hU9rYeg- zscxKoc&-bIf9Z=XX*5(egW`2hKY4V zlTcN4BiIP80x}viBU4;2B)e{J)cF)Rf)pvmdwteeIB4lDzAh!g$gN+jvmX1`}+s36_PRu>@-pINp!0gde-k4|E z83eG{jv-6g8*Rz30t~C7GCk2S;jl3>uqa~wz-Os(C%28!R0?gR?Ai}_I7`FwJ|N=! zbL=LKMD3_)A?O4=Z|*AoBhPW_p~I7JdkbS0I$`Z;E+ltEhOP<&Xhoi%8_HBq-Ic*G{@ptj-vO~efgJ}kq zLfEn!w!^lHMi$NHQQb7aAJe22D8<>5K22x~myCNd4)z^mPUm#kH7*XhbGEBNn^UWr zk1kPcdVn=Nxz6^Lb`T6!PsbWY!8+28wL>@M@wwdwK)xy;Z42b`sUNZqhSWXb-nH|c zT69poEeUvM*U5gY`mtO1Ai%nZk}B{EPnE&+IdCKUdgJgR+&KW)@-r|OH`2F4iiGH&D@xYfREtf5^i z5CUjXn}XspHBxCTeO1(_2q^KU=a3N{Rv=$m12ny;=h=xc5xs&W-qb<_?voi23uHms z9s4@S-u`21pWSWqY^5g!*7RIe-r0P9UiOjp%EtrsY|h)aig%W&UEVidLpz1Sw={cOisS~=ta!jiRL8BF z?if6XZ?L9i2fos!*PJIxvICDGLLZu{{{;tW_L(&mF@&yBO-45{BwdYxXV#!Hm_xcb z0tKND5Pf)zr@A%0EQpfDFdCSc%^-O7Q9MBBNpD?N;IqYd5-){LN@p>>6{G6mBP|CO zf^7n-K2a~9Sk;kfw>jQ)h|H{TyR=Bzp6)@gF;X$(UoN?r$g)`%HOiz17{Yj91ZG~1 zjZfKHQuysi`c2gvpkj05p>J8yNDL?vV<3fG8h%hAvNO+?EHh|uk!m}-brBzPLXt)j z;r(K-0ajP^9z`-4&Ru~=J(iB+j@}f4@5ssX!dE{AJI`4NIQdDL&$BS9cSz54(dBuc z3w$b-Qu?&sM~p_FBN6-oJE!=?`i zmxf*&^uD-z^&kBB< zU-&udKU4A5|FYj^<+g}sDkBf1uU_d!E8tc-{J*cEb`gr&>$vkcKXs{%gymsk6Eu)A*u|)9azYY z0TwtkstiCDR{bF`M#45*4m&HV7S{FW4Z~YW0Q0-tP2%o0i4P5BVNiIbRf1Bl-^`>zuZauQV>pAUkccgd9o_@ zEKIJN!su#XvvIbS1R(QS?A0hq$UbWTAV#LpAbZUD$#Nc6Ir(6zbTArw+$WRapcR^y45_d z<`WzqPcc)?oW0#sL9{eB5ITkr`fL-Mae6H(mscKvcx&@A_dS_~*+xv|p-r5>#Mzu2 z(XCDj5=H(IP%G!40|9$#O!5fHf?`MsWEB{hkmi;qyImrfRn{hQ=0Vi)JF{4&0KNPd zuh#f?IbIRdmTx)pPf?#87s_;i%kF8Nj5!*A&SjQ*=_^P^%fn>gv&qy| zB|ml8we?oE=`({TS^V&@#HZ}hJ$5>8o0lE7wvj{fke~1vVnNT-G#2BCozK`J5X>gM zi6R}OoQ~>?)v;8}aT#oeR?`f{3yc(2!PFA=RjuBV3#az)Xg4{>RtI*;lUO!vH)IijaG9QfcvyD6qI~ z5h>ZMV~gBjNQk#=u2JtUvc8!@v!gFRA&a+y6ng9k#+_cHu9uB@1EN65z((4r*@NR` zkvy>_cFe$Un66IHTd?+|IYJ~7{;qx!p~BQkROo5*R0p z2k#@Zp88ZXgBrc&g~>D=I5% zn7Yg9M3fWop?3(oJsnY>l_asB4{NSyLEtxI@LT$6mX6H8Ri8n85H=|g?Buhdcio5Y z%SyKx$TMpYfQgD=$w`-ADKOtJVLdbtSoYB)LS0&5=&e3oCHK1Q;~*saQ%Fse~N$B`-M;t1C`_ls(Jpq2FC9q?2^C!!racO&)LNsT`+%Y;3&$|xf zfOMfcy*js77{TKDk?T}TlwEw~d9$BElUeYY%>x)b!#*7Atp~#bjY8l7<~=?yVGy4g zg{`MHRRCRgRn31(yz7zKGX55CgOR75#U@sVA*jsgMHmI!5zp3}84$KEaa0?bshbr< z;f+s=bXc+t%Y`wRWBn+erqc%^HaSH3=`KT}IW-5KyHE!!NXprTcQC2Mp*lOIJhV#5 z1TQVjTj`jra*nfh6GAYoW>QVy6D;6AENZ=3{DQcriE;YOwQ0{oaH_&Bghmv-0m`a5 zL7S$LwXbXT#z#tNDbkf#0bMab#AiZ%Tn-*W(E8;k>IVL?P_nM-ywmjV8VYmTX_62?Hm6 z16$j#p#-(Qv4OtXA7u33{K&6x|2d-g{J)4IRcXj_;(qMqocu{TpJ~%IvNr)|R+X@T zfY+o?=ga1_&iRt})B9}r&ZrUY(3Z~h-Jap8$T>FR(~XSFgKj57mZ$5-16@OrZ&ae> zEDcHJZoow5gt2na2BiVApbgY%ostQ~Ws~i2$YEO+-IAJM_@LoR2kBvzG2R=jk^v~G z3Ji3crOKn`*NsDx4)u_KP3?~)Fv6bujhyS`^sShmQx@(5X}6@dPs#W%b*QMsZ5snW zMK8(?)I@RV`kb4D(oe)SH9p<%)^^s8LYWn^wwvNuUEoEU^(k=a&O) z@lr50D**B-*{_AOn9U1Nx!=pl=e$l+DcmawMa^{q?Wfbmnw&gF;2>j-ea~;jz@n#z z&40p4o;sX64^6eR-*WvtVb&I05%wJbkGdGM%W#?RmQDTgHW$A-py>b!G;<;(zPxbA zTd0o&V?kh?^kYYF2;4^zZSP5koW*z`6B zo#sbSbsEKCXFayQyqXsI8vn%ukVPP*s?{i`w!uga7Z%Q1v&l3yQO*sK)Nl-?ByFsK zDeSQM?h}S3fVy3b_lWMDn=PT$67tgS+GwzY#lRVI-V?qZ1(z!7?xq%}nlu$qy#8i3 zgYHBTNVxTfk zdcEiiYCWkjolJJJ4&z5m1~}^g1(r#?7co7ynC(~PlBy_q+l-qQRET|qVfkQQYfxFS z&1MR-`}+(EJ!ry3$DoF%0CL+2hK^fx-PLwVOUfbW&)+Zju@}c}FAoZ5p#{-?05h|{ zQ{Lqz7~>^~HhzxUg7OON?(5;NTj8Q+yg&GW;J+h#lCNp%uMX+Iq5IsU?{rTe*@1U| zo#7g?(~YQJI$t8yvY~$MqauPeio6d3iA7P-T{CRTB*c~Lh(~KSg1{4Q-vy}pD~?q< za#a}k!X!EhMxXlL$RT@wA=nPXYxAp`Hw32;6e-n|sZglX4p|b#_qQ6X?{76Q zbSeSBgq|qNGAyzz7$Qn6+OZI(cOaI4(OCBxZLMYm<0-JpsSro#Ol8+ZeXXiv9Z^+0 zty`v>rQSJz1K+%kFmctegbuFQva)rdrPk5|1U=07#6#f3T>HUw#@dfndhE$$YFah14xAlM~qoa(>Fhw2ik^r#9)ABs;+p4#Z9EB%oZ2jkAb5X3#G$ z-)Id;8mq*Df^r$auyZgp5zg~u0hdqaOFV4LtjHo?cS3ttf4JrZSOSnp99~^LU%D|IHDx zx;WEGS;bKJgu&_zL@;r0fT{`7tr6e}5YldE^dul_bRYnVV6kNP>o}X_*r7w@ZHuxE zZX9VzB*uE?5xHSa+BxJTNcPWPM22_x^Iy2@dq;v6wLxny8I#4E$7?T!X;zKEuG#HA zLu`l&t;wZyb^Vi?4o<4QcspK6>T6N{T!o5*6*bPmDB4w^B3)DQ3AnI=!vbGwkeXgd33lsV#Og~6P4A%XGE5m+!g;3>? zGM7GHOF2-d&ti_%YhjH7$vI4^E@i=Ls$}q&R`lyZM`GN@GD?0c_9Tirxjs!sDRbzdnyOxHD3{I@jjhW1 z>_I6sl5cTAl-4)ht0zZMs|=c+F}*5M_A}*eL=^003PL$UnA<8jRwR3eE6k$bd|~Cx zZV)CLuF~qQ0}f1jUdMTi?^CEDrm7c|WQ&mUBDaBw?QUICVJE5I!M+4y+fl5^dQ0{x zb(F8{s<$$-T?Eb|$e!i%vmmHYj?3|ASm00I$#jHOs9Hd*_A-aEfq@4{I>ARII#BA_ zYZRtkbFH6N1HnWVs|sEh={5z=Jd1T-paaBtDTrX1c#hRgx*Df>LD(q19=)k*)#oEa z;>7N`rJB~Nm)*GeMN@iHVXh52VUa42_~I(b5?}#3wMvSMKFR0RlSRcGq*hp;XX)-s zR!oka05f9KdzIp6<*CmK`xVL}qn@9Nv~~N*L?4u%k}ZmcF-p8>F!!@p+4#7WsLg)j z`i67k3*LTUY|6Wu%jd7OPrK3P%{5Rx&)jVwwxmi>}_b-TZ||9?Y?OUK_SvBI*04qC|3(?5f~Ce{)r zs!(AoLRhXBabh%{TrdX{jQ_T|N--n0*HJVr$5lU!nAMvbdcBWCKEQN0N|jyb=a;v zF!%kW=CxBVLen|~@O@BCq8UZl*bU+LMfZzy5Q@6jf!4E!)9l`ga7pa4E|if6Qt#Yk z!`Jo_Z`|#OobqY%te)-VGSm-&UNA`opF#{}fB9PZzRi7)Ja|uvw7(_AZxdm^-oZbk zMbdxJ&%YqX?_*~c(cJPKe9-<^DFR@2e(d_Ec z=BkrBy$y}3V_Nd_hZs0K6ZjpfJZ5BXSMdXwfuPK}z^Z^UNsr3y<#a208Nz$%Qk0(! ziPj9qLKH?yuthe<@X>zO5!j%;0dWN}!;^&6Dtc;nA4mjO6xGt7-9U$TsXDWIt>D@+6_0Vem9tRp<%SN^eL@JLf1>)j?8 zhUyA-4BMYhy||LIv&;9ue|>5#I{#cp@5X-qrO?2TlX(J>a3GVARed{Id7j%G><6E_ zRVm8XQqJ*8DeBANi?&1KsIS6NdfGoNrW?Om#uV9bRl;f3rro$1UG(TSJpz8!b_q;ic&br}c^ zzm?1?!4A+(6hbbH#N{1-_T0VUi_`gy!xPYW2bY){Pn~!TLxJq1G=LmXibb3YRRZ!} zs10Cwl9oj+nI(v*!24Ktu(N-qp^OWnms0eedn}kxlDp&kUXG*Z>!jdk?-H%|>wV^6 zpZAT%54}Oxxzb;%BTh-zY8$K*eXE!@h&X#cIXr08#=cSk$OJ2SF*j(UAlQ~Uq<7Ux z&z;8wAXWMj4%lt=WpuDl0j!Gr<{a@ke>O8^Ivdf)Px8aXAwbSb@7_Hdj;)n{&Bp+z zdmtvUhS-7tTp;>7m=7~FlP|~J0RKFX1e|BY50dId)Opwhn?*Dd)MysZe_ka*3d*i5JbFyX#JrS&48#n(sXJIpW{4$nMjh3ga@$DNN z=oJPLnH{$GMqqO~E06&tW^2ISmUCueClYI?(<%*p(qDc6VQ(Deh6`M5K-ywjOoBz3O#S<%QYyk zSv-_m|87p^NILB(`*RvZwqW!=eTfn4CQGowwWp3N!UpLZ=dXvUsfXy?;k1@JJu_G_ zCCqZYUw`4|fiEeld|j7H#-&1Ghv448H=lpK3NBuZ6LLF95FgKd(d0~7>Hwu{m1DDj zT)6ul3{J9k@7uT{h%i~S?fntC1^s?Z9th^Imi@JZ`lDt46Q?}bHsJqFEj{j_hP@7s zjeVO<9}vkXPtJrj!_s}XkMb;~&J`yj(N!hvCFzqD*KWtfp@EieqBVx&p(1VgQK#BD ziwS0}Obl62#_n`-Yj_gJZj+?fI8fA2qdQ-#1J!R@rl4m$>oyJGuimjnik>RR zt#kby@He&72i)&uVIRdWf6wK@=j{Hlqb6Sa4fs19PyPN2~eAk5d^xJVekjw10iPnCaU($^rLlZzwfqEl`6x_#|PgbQMxGIzM^ifJ|$mtplR-0LSG3G zOWm^#e^1xD8SS97#0JG-q-cqo)*5|tN9t^Ka<1p_p~H#$a0boy61q)zYikEGGJUegF;Pi4D}@tKRaG0 ze)18?zBI|$;EUqDw})6MF7r=2Vk0dp-NZB=xt4 zJDN;BE~Z;`f3+qqsjz&-z@G-Rv{d-1k^7C0|*;z*@@WmqaYnAmpCvZZkdC zS#6&)-$5LkKW}+8*q{LzhpJ+t=(1dAi=V@ARH{&5qOb3(os@^@tmV38G2O%-D)T`_ zAo@grqxM}8B?EoBkZ*x-s>rYva|7boL9D~L{92n@vPiPNi1b3Gv{{@8ES7gW%A5g# zOGiW*+7XF!X$@h2*q}{N0@<9`WJ#ikH_7u%f5S$$P?6Yrgtt{V4a>s%h5fq@dgvIJ z$GokTN0YV5`v6OrvVIXr7|3HBk?NdqMWE}7ncJtSRP=tTf$*Yj5ERFZr91@d3pj(p ziz|ln)-1kAFS+S8YXAxSv3s_GxQd1+1wi8KdGPDTRgcgr-(apS)H><-dW0*a$>i^%T?>jd?E2E27}6$v?Q_KuqDUaDT<>bRMz z%*4}8LJ&4q~)c3&aMUK@!W$?i1=ZZ2h z-`lY-wSWJLZ;N6u6#x975>ala&vAHUV)Mvg#tM<12R(Ru86houU-<58_)YTs6HU!M zzkK*DzkIzM^RpxJZ&=3i|5&CO_I@_j@0>?CF8LOZg@}a2P{dF66`GiMDur|=%7?|5 zNJM!v%c<^1jqn0lpZG2P7fNVb_WCjLK#B{S2>PbFp?z>vV7eBao%dApHEeXTagtNuv0S;GU+rIMCeXP} zMr+hPr&$0nZ?=b=Q!}IX7M7lR|HbHkgK5$GdG}`(YF(#6kQ_2$n(+I zz*6$yIYR(ACqqH0%22MoqZgw#7yq2bB+59>9egdFt4Crc`qY!!QQd<-Er#lo*}N?q zo-Gb~+mqaQH#En0zWFmc)3-~zpRAUIMfSk$8KScF#q+!|Bb05N-Cz5{Mbt@=LKoEy zL47WRT5Mq?5sj*1B^M-lKG<^4R$$<-&Yj|9@0rW+YdQl6gbe(v2f5JhP3POs9{2#!@Pm}1`;y|%SMXcc z@E17``|$VIeg6My_V^d?uj~9=&QH(NU+};0*5jvK@PAkb^S%H3HU6*Sxxa|{*)q@` ziP_^fy}yHK&+zm2T>kc=&|lEMFXHi|4L>TQ^*8AMUFo}zUN|6nw2B;WVd!74;!o9% z^+?hlzZcA}CH)u0Kfbh0_((#I_uM~7_yg6WJQB3W?~L%Ul%HH`{I`04e2*3P5p<6C z;IE+nyV4)u`~2~QP@w$c`~Otq=#SR2$NwDl7h?X4x*uQi`_U`b{0{yPbdC7KBG}L$ z7V+1sG5=Q4k1s1dJ`OqFK|jU)?^=F*!3XEjm*;rXVE^pP|5U}Ok7VreYvTM&#(&Z8 zQ^U*iw zc;^!R?VJBpr$~_L_BO_zd{9eKzsQ$5O z?eRO&JqY^Mq{Y8g{^OaLAC)rtTm1j7{>SqpBtIMyd#2y5-e^?J3%RkBZ10(p+o~hU#ME$z6_;1bNaVPjk5{YnA+p-<@&v}|6&Y}`+=lCtcisCpQZc3{7CLFynh4zz0!XM|G2~PBe`$g*Af2m&Htq5#{wR**1vAbkK_&~_%{K+Qte~l z?+ug3mHo#aILBM(=fJ { throw new Error(message); }; diff --git a/05_typescript/unterricht/tag32/02_ts-objects/assets/img/what-is-ts.webp b/05_typescript/unterricht/tag32/02_ts-objects/assets/img/what-is-ts.webp new file mode 100644 index 0000000000000000000000000000000000000000..d329dbb7b3ef84c9e12bbf5286bbaba741f38893 GIT binary patch literal 167054 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�`Q*Fy6|7n?Nd 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 literal 0 HcmV?d00001 diff --git a/05_typescript/unterricht/tag32/02_ts-objects/assets/js/01_obj-props-readonly.js b/05_typescript/unterricht/tag32/02_ts-objects/assets/js/01_obj-props-readonly.js new file mode 100644 index 0000000..042733c --- /dev/null +++ b/05_typescript/unterricht/tag32/02_ts-objects/assets/js/01_obj-props-readonly.js @@ -0,0 +1,47 @@ +(() => { + // src/01_obj-props-readonly.ts + { + let person = { + name: "Alice", + age: 30 + }; + let person2 = { + name: "Alice", + age: 30 + }; + console.table(person); + console.table(person2); + const book1 = { title: "The Great Gatsby" }; + const book2 = { title: "1984", author: "George Orwell" }; + const book3 = { + title: "Moby Dick", + author: "Herman Melville", + pages: 635 + }; + console.log(book1); + console.log(book2); + console.log(book3); + const printBookInfo = (book) => { + const author = book.author ?? "Unknown"; + const author2 = book.author ? book.author : "Unknown"; + const pages = book.pages ?? "Page count not available"; + console.log(`Title: ${book.title}, Author: ${author}, Pages: ${pages}`); + }; + const printBookInfoWithDefaults = ({ title, author = "Unknown", pages = 1 }) => { + console.log(`Title: ${title}, Author: ${author}, Pages: ${pages}`); + }; + printBookInfoWithDefaults({ title: "To Kill a Mockingbird" }); + printBookInfo(book3); + printBookInfo(book2); + } + { + const person = { firstName: "John", lastName: "Doe", age: 30 }; + person.age = 31; + const employee = { + id: 101, + details: { position: "Developer", salary: 5e4 } + }; + employee.details.salary = 55e3; + const config = { apiKey: "abc123", timeout: 5e3 }; + } +})(); diff --git a/05_typescript/unterricht/tag32/02_ts-objects/assets/js/02_excess-property-check.js b/05_typescript/unterricht/tag32/02_ts-objects/assets/js/02_excess-property-check.js new file mode 100644 index 0000000..19da73c --- /dev/null +++ b/05_typescript/unterricht/tag32/02_ts-objects/assets/js/02_excess-property-check.js @@ -0,0 +1,12 @@ +(() => { + // src/02_excess-property-check.ts + { + const myCar = { make: "Toyota", model: "Camry", year: 2020 }; + console.log(myCar); + const printCarDetails = (car) => { + const { make, model, year } = car; + console.log(`Car Make: ${car.make}, Model: ${car.model}, Year: ${car.year}`); + }; + printCarDetails({ make: "Tesla", model: "Model 3", year: 2021 }); + } +})(); diff --git a/05_typescript/unterricht/tag32/02_ts-objects/assets/js/03_obj-extends.js b/05_typescript/unterricht/tag32/02_ts-objects/assets/js/03_obj-extends.js new file mode 100644 index 0000000..8d991a6 --- /dev/null +++ b/05_typescript/unterricht/tag32/02_ts-objects/assets/js/03_obj-extends.js @@ -0,0 +1,29 @@ +(() => { + // src/03_obj-extends.ts + { + const laptop = { + id: 1, + name: "Gaming Laptop", + price: 1500, + brand: "TechBrand", + warranty: 24 + }; + const chair = { + id: 2, + name: "Office Chair", + price: 200, + material: "Leather", + dimensions: { length: 60, width: 50, height: 110 } + }; + const tshirt = { + id: 2, + name: "T-Shirt", + price: 20, + size: "M", + color: "Red" + }; + console.log(laptop); + console.log(chair); + console.log(tshirt); + } +})(); diff --git a/05_typescript/unterricht/tag32/02_ts-objects/assets/js/04_more-types.js b/05_typescript/unterricht/tag32/02_ts-objects/assets/js/04_more-types.js new file mode 100644 index 0000000..3a44ff9 --- /dev/null +++ b/05_typescript/unterricht/tag32/02_ts-objects/assets/js/04_more-types.js @@ -0,0 +1,79 @@ +(() => { + // src/04_more-types.ts + { + const numbers = [10, 20, 30, 40]; + const numbers2 = [10, 20, 30, 40]; + const namesAndAges = ['John', 123, 'Trick', 32]; + const namesAndAges2 = ['John', 123, 'Trick', 32]; + const strings = ['eins', 'zwei', 'drei']; + const strings2 = ['eins', 'zwei', 'drei']; + console.log(numbers, numbers2, namesAndAges, namesAndAges2, strings, strings2); + } + { + const getFirstElement = (arr) => { + return arr.length > 0 ? arr[0] : void 0; + }; + const firstNumber = getFirstElement([1, 2, 3]); + const firstString = getFirstElement(['apple', 'banana', 'cherry']); + console.log(firstNumber); + console.log(firstString); + console.log(getFirstElement([])); + } + { + let pair = ['hello', 42]; + console.log(pair[0]); + console.log(pair[1]); + } + { + let Direction; + ((Direction2) => { + Direction2['Up'] = 'up'; + Direction2['Down'] = 'down'; + Direction2['Left'] = 'left'; + Direction2['Right'] = 'right'; + })(Direction || (Direction = {})); + let currentDirection = 'up'; /* Up */ + console.log(currentDirection); + currentDirection = 'down' /* Down */; + console.log(currentDirection); + let Status; + + ((Status2) => { + Status2['PENDING'] = 'pending'; + Status2['SUCCESS'] = 'success'; + Status2['ERROR'] = 'error'; + })(Status || (Status = {})); + + const status = 'success'; /* SUCCESS */ + console.log(status); + } + { + let Richtung; + ((Richtung2) => { + Richtung2[(Richtung2['Norden'] = 2)] = 'Norden'; + Richtung2[(Richtung2['Osten'] = 3)] = 'Osten'; + Richtung2[(Richtung2['Sueden'] = 4)] = 'Sueden'; + Richtung2[(Richtung2['Westen'] = 5)] = 'Westen'; + })(Richtung || (Richtung = {})); + + console.log(2 /* Norden */); + console.log(3 /* Osten */); + } + { + const numbers = { + true: 1, + two: 2, + three: 3, + }; + console.log(numbers); + } + { + const symbol1 = /* @__PURE__ */ Symbol('key'); + const symbol2 = /* @__PURE__ */ Symbol('key'); + const obj = { + [symbol1]: 'value1', + [symbol2]: 'value2', + }; + console.log(obj); + } +})(); diff --git a/05_typescript/unterricht/tag32/02_ts-objects/index.html b/05_typescript/unterricht/tag32/02_ts-objects/index.html new file mode 100644 index 0000000..6391b5f --- /dev/null +++ b/05_typescript/unterricht/tag32/02_ts-objects/index.html @@ -0,0 +1,27 @@ + + + + + + TypeScript - Grundlagen + + + + + + + + +
+
+

TypeScript - Grundlagen

+

+ TypeScript ist eine von Microsoft entwickelte Skriptsprache, die auf den Vorschlägen zum ECMAScript-6-Standard + basiert und statische Typisierung zu JavaScript hinzufügt. Sprachkonstrukte von TypeScript, wie Klassen, + Vererbung, Module und anonyme Funktionen, wurden auch in ECMAScript 6 übernommen. +

+ TypeScript Kreisdiagramm +
+
+ + diff --git a/05_typescript/unterricht/tag32/02_ts-objects/package-lock.json b/05_typescript/unterricht/tag32/02_ts-objects/package-lock.json new file mode 100644 index 0000000..93f16d2 --- /dev/null +++ b/05_typescript/unterricht/tag32/02_ts-objects/package-lock.json @@ -0,0 +1,499 @@ +{ + "name": "02_ts-functions", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "02_ts-functions", + "version": "1.0.0", + "devDependencies": { + "esbuild": "^0.28.2" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz", + "integrity": "sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz", + "integrity": "sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz", + "integrity": "sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz", + "integrity": "sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz", + "integrity": "sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz", + "integrity": "sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz", + "integrity": "sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz", + "integrity": "sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz", + "integrity": "sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz", + "integrity": "sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz", + "integrity": "sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz", + "integrity": "sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz", + "integrity": "sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz", + "integrity": "sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz", + "integrity": "sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz", + "integrity": "sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz", + "integrity": "sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz", + "integrity": "sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz", + "integrity": "sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz", + "integrity": "sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz", + "integrity": "sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz", + "integrity": "sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz", + "integrity": "sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz", + "integrity": "sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz", + "integrity": "sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz", + "integrity": "sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/esbuild": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz", + "integrity": "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.2", + "@esbuild/android-arm": "0.28.2", + "@esbuild/android-arm64": "0.28.2", + "@esbuild/android-x64": "0.28.2", + "@esbuild/darwin-arm64": "0.28.2", + "@esbuild/darwin-x64": "0.28.2", + "@esbuild/freebsd-arm64": "0.28.2", + "@esbuild/freebsd-x64": "0.28.2", + "@esbuild/linux-arm": "0.28.2", + "@esbuild/linux-arm64": "0.28.2", + "@esbuild/linux-ia32": "0.28.2", + "@esbuild/linux-loong64": "0.28.2", + "@esbuild/linux-mips64el": "0.28.2", + "@esbuild/linux-ppc64": "0.28.2", + "@esbuild/linux-riscv64": "0.28.2", + "@esbuild/linux-s390x": "0.28.2", + "@esbuild/linux-x64": "0.28.2", + "@esbuild/netbsd-arm64": "0.28.2", + "@esbuild/netbsd-x64": "0.28.2", + "@esbuild/openbsd-arm64": "0.28.2", + "@esbuild/openbsd-x64": "0.28.2", + "@esbuild/openharmony-arm64": "0.28.2", + "@esbuild/sunos-x64": "0.28.2", + "@esbuild/win32-arm64": "0.28.2", + "@esbuild/win32-ia32": "0.28.2", + "@esbuild/win32-x64": "0.28.2" + } + } + } +} diff --git a/05_typescript/unterricht/tag32/02_ts-objects/package.json b/05_typescript/unterricht/tag32/02_ts-objects/package.json new file mode 100644 index 0000000..3564f4e --- /dev/null +++ b/05_typescript/unterricht/tag32/02_ts-objects/package.json @@ -0,0 +1,14 @@ +{ + "name": "ts-objects", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "ts": "npx esbuild \"src/*.ts\" --watch --bundle --outdir=\"assets/js\" --loader:.ts=ts" + }, + "keywords": [], + "type": "module", + "devDependencies": { + "esbuild": "^0.28.2" + } +} diff --git a/05_typescript/unterricht/tag32/02_ts-objects/src/01_obj-props-readonly.ts b/05_typescript/unterricht/tag32/02_ts-objects/src/01_obj-props-readonly.ts new file mode 100644 index 0000000..8266eaa --- /dev/null +++ b/05_typescript/unterricht/tag32/02_ts-objects/src/01_obj-props-readonly.ts @@ -0,0 +1,116 @@ +// Property Modifiers +/* +In TypeScript kannst du die Modifizierer für Eigenschaften in Objekten verwenden, um die Zugriffsrechte und Verhaltensweisen zu steuern. +*/ + +{ + let person: { name: string; age: number } = { + name: 'Alice', + age: 30, + }; + + // RECOMMENDATION - use type or interface for object annotations + type Person = { + name: string; + age: number; + }; + + let person2: Person = { + name: 'Alice', + age: 30, + }; + + // person.lastName // Property 'lastName' does not exist on type '{ name: string; age: number; }'. + console.table(person); + console.table(person2); + + // ------------------------------------------------------------ + + // type Book = { + interface Book { + title: string; + author?: string; // optional operator (?) + pages?: number; + } + + const book1: Book = { title: 'The Great Gatsby' }; // Valid: no author or pages + const book2: Book = { title: '1984', author: 'George Orwell' }; // Valid: no pages + const book3: Book = { + title: 'Moby Dick', + author: 'Herman Melville', + pages: 635, + }; // Valid + + console.log(book1); + console.log(book2); + console.log(book3); + + // ------------------------------ + // ?? operator => nullish coalescing (2021) + const printBookInfo = (book: Book) => { + const author = book.author ?? 'Unknown'; // Use "Unknown" if author is undefined + const author2 = book.author ? book.author : 'Unknown'; // Use "Unknown" if author is undefined + const pages = book.pages ?? 'Page count not available'; + console.log(`Title: ${book.title}, Author: ${author}, Pages: ${pages}`); + }; + + // destructuring with defaults + const printBookInfoWithDefaults = ({ title, author = 'Unknown', pages = 1 }: Book) => { + console.log(`Title: ${title}, Author: ${author}, Pages: ${pages}`); + }; + + printBookInfoWithDefaults({ title: 'To Kill a Mockingbird' }); + // => Title: To Kill a Mockingbird, Author: Unknown, Pages: 1 + + printBookInfo(book3); + // => Title: Moby Dick, Author: Herman Melville, Pages: 635 + printBookInfo(book2); + // => Title: 1984, Author: George Orwell, Pages: Page count not available +} +// ---------------------- +// Readonly Properties +{ + interface Person { + readonly firstName: string; + readonly lastName: string; + age: number; + } + const person: Person = { firstName: 'John', lastName: 'Doe', age: 30 }; + + person.age = 31; // This works: age can be updated + + // The following lines will cause TypeScript errors + // person.firstName = "Jane"; // Error: Cannot assign to 'firstName' because it is a read-only property + // person.lastName = "Smith"; // Error: Cannot assign to 'lastName' because it is a read-only property + + interface Employee { + readonly id: number; + details: { + position: string; + salary: number; + }; + } + + const employee: Employee = { + id: 101, + details: { position: 'Developer', salary: 50000 }, + }; + + employee.details.salary = 55000; // This works: you can modify the 'details' object + + // The following will cause an error + // employee.id = 102; // Error: Cannot assign to 'id' because it is a read-only property + + interface Config { + readonly apiKey?: string; + readonly timeout?: number; + } + + const config: Config = { apiKey: 'abc123', timeout: 5000 }; + + // export default config; // außerhalb von codeblöcken + + // The following will cause errors because both properties are readonly + // config.apiKey = "newKey"; // Error: Cannot assign to 'apiKey' because it is a read-only property + // config.timeout = 3000; // Error: Cannot assign to 'timeout' because it is a read-only property +} diff --git a/05_typescript/unterricht/tag32/02_ts-objects/src/02_excess-property-check.ts b/05_typescript/unterricht/tag32/02_ts-objects/src/02_excess-property-check.ts new file mode 100644 index 0000000..eb8785d --- /dev/null +++ b/05_typescript/unterricht/tag32/02_ts-objects/src/02_excess-property-check.ts @@ -0,0 +1,29 @@ +// Excess Property Checks +/* +Wenn du ein Objekt in TypeScript definierst, musst du sicherstellen, dass das Objekt genau der erwarteten Struktur entspricht. TypeScript prüft nicht nur, ob alle erforderlichen Eigenschaften vorhanden sind, sondern auch, dass keine zusätzlichen, unbeabsichtigten Eigenschaften enthalten sind. Diese Funktion wird als "Excess Property Checks" bezeichnet. +*/ + +{ + // type Car = { + interface Car { + make: string; + model: string; + year: number; + } + + const myCar: Car = { make: 'Toyota', model: 'Camry', year: 2020 }; + // const myCar2: Car = { make: "Honda", model: "Accord", year: 2022, color: "blue" }; + // => TypeScript error: Object literal may only specify known properties, and 'color' does not exist in type 'Car'. + + console.log(myCar); + + const printCarDetails = (car: Car) => { + const { make, model, year } = car; + + console.log(`Car Make: ${car.make}, Model: ${car.model}, Year: ${car.year}`); + }; + + printCarDetails({ make: 'Tesla', model: 'Model 3', year: 2021 }); + // printCarDetails({ make: "Tesla", model: "Model 3", year: 2021, color: "black" }); + // => TypeScript error: Object literal may only specify known properties, and 'color' does not exist in type 'Car'. +} diff --git a/05_typescript/unterricht/tag32/02_ts-objects/src/03_obj-extends.ts b/05_typescript/unterricht/tag32/02_ts-objects/src/03_obj-extends.ts new file mode 100644 index 0000000..d636143 --- /dev/null +++ b/05_typescript/unterricht/tag32/02_ts-objects/src/03_obj-extends.ts @@ -0,0 +1,57 @@ +// Extending Types +/* +In TypeScript kannst du bestehende Typen erweitern, um speziellere Versionen von ihnen zu erstellen. Mit diesem Ansatz kannst du bestehende Typstrukturen wiederverwenden und erweitern, ohne Code zu duplizieren. +*/ + +{ + interface Product { + readonly id: number; + name: string; + price: number; + } + + interface Electronics extends Product { + brand: string; + warranty: number; // warranty in months + } + + interface Furniture extends Product { + material: string; + dimensions: { length: number; width: number; height: number }; + } + + interface Clothing extends Product { + size: string; + color: string; + } + + const laptop: Electronics = { + id: 1, + name: 'Gaming Laptop', + price: 1500, + brand: 'TechBrand', + warranty: 24, + }; + + const chair: Furniture = { + id: 2, + name: 'Office Chair', + price: 200, + material: 'Leather', + dimensions: { length: 60, width: 50, height: 110 }, + }; + + // chair.id = 3; // readonly Cannot assign to 'id' because it is a read-only property. + + const tshirt: Clothing = { + id: 2, + name: 'T-Shirt', + price: 20, + size: 'M', + color: 'Red', + }; + + console.log(laptop); // => { id: 1, name: 'Gaming Laptop', price: 1500, brand: 'TechBrand', warranty: 24 } + console.log(chair); // => { id: 2, name: 'Office Chair', price: 200, material: 'Leather', dimensions: { length: 60, width: 50, height: 110 } } + console.log(tshirt); // => { id: 2, name: 'T-Shirt', price: 20, size: 'M', color: 'Red' } +} diff --git a/05_typescript/unterricht/tag32/02_ts-objects/src/04_more-types.ts b/05_typescript/unterricht/tag32/02_ts-objects/src/04_more-types.ts new file mode 100644 index 0000000..4176942 --- /dev/null +++ b/05_typescript/unterricht/tag32/02_ts-objects/src/04_more-types.ts @@ -0,0 +1,107 @@ +// Object (special) Types + +// Der Array-Typ +{ + const numbers: Array = [10, 20, 30, 40]; + const numbers2: number[] = [10, 20, 30, 40]; + + const namesAndAges: Array = ['John', 123, 'Trick', 32]; + const namesAndAges2: (number | string)[] = ['John', 123, 'Trick', 32]; + + const strings: Array = ['eins', 'zwei', 'drei']; + const strings2: string[] = ['eins', 'zwei', 'drei']; + + console.log(numbers, numbers2, namesAndAges, namesAndAges2, strings, strings2); +} + +// generische Funktionen +{ + const getFirstElement = (arr: Array): T | undefined => { + return arr.length > 0 ? arr[0] : undefined; + }; + + const firstNumber = getFirstElement([1, 2, 3]); // TypeScript infers T as number + const firstString = getFirstElement(['apple', 'banana', 'cherry']); // TypeScript infers T as string + + console.log(firstNumber); // => 1 + console.log(firstString); // => "apple" + console.log(getFirstElement([])); // => undefined +} + +// tuple Type +{ + type StringNumberPair = [string, number]; + + let pair: StringNumberPair = ['hello', 42]; + + console.log(pair[0]); // => "hello" + console.log(pair[1]); // => 42 +} + +// enum Type +{ + enum Direction { + Up = 'up', + Down = 'down', + Left = 'left', + Right = 'right', + } + + let currentDirection = Direction.Up; + + console.log(currentDirection); // => 'up' + + currentDirection = Direction.Down; + console.log(currentDirection); // => 'down' + + enum Status { + PENDING = 'pending', + SUCCESS = 'success', + ERROR = 'error', + } + + const status = Status.SUCCESS; + + console.log(status); // => 'success' +} + +{ + enum Richtung { + Norden = 2, + Osten, + Sueden, + Westen, + } + + console.log(Richtung.Norden); //=> 2 + console.log(Richtung.Osten); //=> 3 +} + +// Record Type +{ + type StringNumberMap = Record; + + const numbers: StringNumberMap = { + true: 1, + two: 2, + three: 3, + }; + + console.log(numbers); // => { one: 1, two: 2, three: 3 } +} + +// Symbol Type + +{ + const symbol1: symbol = Symbol('key'); + const symbol2: symbol = Symbol('key'); + + // console.log(symbol1 === symbol2); // => false => because they are different symbols + + const obj = { + [symbol1]: 'value1', + [symbol2]: 'value2', + }; + + console.log(obj); // => { [Symbol(key)]: 'value1', [Symbol(key)]: 'value2' } +}