Arrow-Funktionen

Arrow Functions sind eine kürzere Syntax für Funktionen in JavaScript.
Sie wurden mit ES6 (ECMAScript 2015) eingeführt und haben einige Besonderheiten:

  • Kürzere Schreibweise (=>)
  • Kein eigenes this, arguments, super oder new.target (können nicht mit new erzeugt werden)
  • Praktisch für Callbacks und Kurzfunktionen

Übersicht:

ThemaNormale FunktionArrow FunctionBesonderheit
Syntaxfunction name() {}const name = () => {}Kürzer, kein function-Keyword
Parameterfunction(x)(x) => oder x =>Klammern bei einem Parameter optional
Kein Parameterfunction()() =>Immer Klammern nötig
Returnreturn x + y;x + y (implizit)Bei einer Zeile ohne {} wird automatisch zurückgegeben
this-BindungHat eigenes thisErbt this vom umgebenden KontextWichtig bei Methoden & Event-Handlern
KonstruktorKann mit new verwendet werden❌ Nicht möglichArrow Functions sind keine Konstruktoren
arguments-ObjektVerfügbar❌ Nicht verfügbarStattdessen Rest-Parameter (...args) nutzen

Beispiele:

// Normale Funktion
function add(a, b) {
  return a + b;
}

// Arrow Function (Langform)
const add = (a, b) => {
  return a + b;
};

// Arrow Function (Kurzform mit implizitem return)
const add = (a, b) => a + b;

// Nur ein Parameter (Klammern optional)
const square = x => x * x;

// Kein Parameter (leere Klammern nötig)
const greet = () => console.log("Hallo!");

// Mehrzeilige Funktion (geschweifte Klammern + return nötig)
const sum = (a, b) => {
  const result = a + b;
  return result;
};

MDN-Website: Arrow-Funktionen