Sobes.tech
Intern

Welche Funktionen gibt es in JavaScript?

sobes.tech KI

Antwort von AI

In JavaScript gibt es die folgenden Arten von Funktionen:

  • Funktionsdeklarationen (Function Declarations): Grundsyntax zur Definition einer Funktion. Werden beim Kompilieren hochgezogen (hoisted).

    function sayHello() {
      // Funktionskörper
      console.log("Hallo!");
    }
    
  • Funktionsausdrücke (Function Expressions): Eine Funktion wird einer Variablen zugewiesen. Werden nicht hochgezogen. Können benannt oder anonym sein.

    const greetUser = function(name) {
      // Funktionskörper
      console.log(`Hallo, ${name}!`);
    };
    
  • Pfeilfunktionen (Arrow Functions): Kürzere Syntax, eingeführt in ES6. Haben spezielle Verhaltensweisen bezüglich this.

    const add = (a, b) => a + b;
    
  • Objektmethoden (Object Methods): Funktionen, die als Eigenschaften eines Objekts definiert sind.

    const user = {
      name: "Ivan",
      sayName: function() {
        console.log(this.name);
      }
    };
    
  • Generatorfunktionen (Generator Functions): Funktionen, die ihre Ausführung mit yield pausieren und wieder aufnehmen können. Geben einen Iterator zurück.

    function* counter() {
      let i = 0;
      while (true) {
        yield i++;
      }
    }
    
  • Asynchrone Funktionen (Async Functions): Funktionen, die mit Promises arbeiten und await verwenden, um auf deren Abschluss zu warten.

    async function fetchData() {
      const response = await fetch("https://api.example.com/data");
      const data = await response.json();
      return data;
    }
    
  • Konstruktorfunktionen (Constructor Functions): Funktionen, die mit new verwendet werden, um Objekte zu erstellen. Traditioneller Ansatz vor Klassen.

    function Person(name, age) {
      this.name = name;
      this.age = age;
    }
    
    const person1 = new Person("Petr", 30);
    
  • Callback-Funktionen (Callback Functions): Funktionen, die als Argument an eine andere Funktion übergeben werden, um zu einem späteren Zeitpunkt ausgeführt zu werden.

    function processArray(arr, callback) {
      for (let i = 0; i < arr.length; i++) {
        callback(arr[i]);
      }
    }
    
    processArray([1, 2, 3], function(item) {
      console.log(item * 2);
    });
    
  • Sofort aufgerufene Funktionsausdrücke (IIFE - Immediately Invoked Function Expressions): Funktionen, die sofort nach ihrer Definition ausgeführt werden. Werden verwendet, um einen lokalen Gültigkeitsbereich zu schaffen.

    (function() {
      // Lokaler Code
      const secret = "geheimnis";
      console.log(secret);
    })();
    

Jeder Funktionstyp hat seine eigenen Syntaxmerkmale, Gültigkeitsbereich (this) und Anwendungsfälle.