Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:ffit:js:learningunits:lu01:funktionen [2024/10/24 06:47] – kdemirci | modul:ffit:js:learningunits:lu01:funktionen [2024/10/24 07:06] (aktuell) – kdemirci | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
Funktionen sind in JavaScript fundamentale Bausteine und werden verwendet, um wiederverwendbare, | Funktionen sind in JavaScript fundamentale Bausteine und werden verwendet, um wiederverwendbare, | ||
- | ===== Funktionserklärungen ===== | + | ===== Funktionserklärungen |
Die klassische Methode, eine Funktion zu definieren, ist die Funktionserklärung (Function Declaration). Dies ist der traditionellste Weg, eine Funktion zu schreiben. Eine Funktionserklärung beginnt mit dem Schlüsselwort function, gefolgt vom Namen der Funktion und einer Liste von Parametern in Klammern. | Die klassische Methode, eine Funktion zu definieren, ist die Funktionserklärung (Function Declaration). Dies ist der traditionellste Weg, eine Funktion zu schreiben. Eine Funktionserklärung beginnt mit dem Schlüsselwort function, gefolgt vom Namen der Funktion und einer Liste von Parametern in Klammern. | ||
Zeile 26: | Zeile 26: | ||
Das obige Beispiel funktioniert, | Das obige Beispiel funktioniert, | ||
+ | |||
+ | ===== Funktionsausdrücke (Function Expressions) ===== | ||
+ | Ein Funktionsausdruck ist eine alternative Methode, um eine Funktion zu definieren. Dabei wird die Funktion als Wert einer Variablen zugewiesen. Anders als bei Funktionserklärungen werden Funktionsausdrücke nicht gehoisted. Das bedeutet, die Funktion ist erst verfügbar, nachdem der Code die Zuweisung erreicht hat. | ||
+ | |||
+ | <code javascript> | ||
+ | const multipliziere = function(x, y) { | ||
+ | return x * y; | ||
+ | }; | ||
+ | |||
+ | console.log(multipliziere(3, | ||
+ | </ | ||
+ | |||
+ | Hier wird die anonyme Funktion (eine Funktion ohne Namen) der Variablen multipliziere zugewiesen. Beachte, dass du diese Funktion erst nach der Definition aufrufen kannst. | ||
+ | |||
+ | ===== Arrow-Funktionen (Arrow Functions) ===== | ||
+ | |||
+ | Arrow-Funktionen sind eine modernere, kürzere Syntax, um Funktionen zu schreiben. Sie wurden mit ES6 (ECMAScript 2015) eingeführt und unterscheiden sich in mehreren Aspekten von herkömmlichen Funktionen. Eine Arrow-Funktion verwendet das => | ||
+ | |||
+ | <code javascript> | ||
+ | const addiere = (x, y) => { | ||
+ | return x + y; | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | Dieses Beispiel ist funktional identisch mit der vorherigen Funktionsdefinition, | ||
+ | |||
+ | <code javascript> | ||
+ | const addiere = (x, y) => x + y; | ||
+ | </ | ||
+ | |||
+ | ==== Eigenschaften von Arrow-Funktionen ==== | ||
+ | * **Kürzere Syntax:** Arrow-Funktionen sind kompakter und erfordern kein function-Schlüsselwort. | ||
+ | * **Kein eigenes this:** Arrow-Funktionen haben kein eigenes this. Sie übernehmen das this des umgebenden Kontexts, was sie besonders nützlich in Objektmethoden oder in Callbacks macht. | ||
+ | |||
+ | ===== Methoden (Funktionen in Objekten) ===== | ||
+ | In JavaScript können Funktionen als Methoden innerhalb von Objekten definiert werden. Eine Methode ist im Grunde eine Funktion, die als Wert einer Eigenschaft in einem Objekt gespeichert wird. Diese Methode kann auf die anderen Eigenschaften des Objekts zugreifen, indem sie das Schlüsselwort this verwendet, welches auf das aktuelle Objekt verweist. | ||
+ | |||
+ | <code javascript> | ||
+ | const person = { | ||
+ | name: " | ||
+ | alter: 30, | ||
+ | begruessen: function() { | ||
+ | return `Hallo, mein Name ist ${this.name} und ich bin ${this.alter} Jahre alt.`; | ||
+ | } | ||
+ | }; | ||
+ | |||
+ | console.log(person.begruessen()); | ||
+ | </ | ||
+ | |||
+ | In diesem Beispiel enthält das Objekt person eine Methode begruessen. Diese Methode greift auf die Eigenschaften name und alter des Objekts person zu, indem sie this.name und this.alter verwendet. Das this-Schlüsselwort referenziert das Objekt, in dem die Methode definiert wurde. |