Artikel
- 01 Declaration vs. Expression Die zwei Grundformen einer Funktions-Definition: function name() {} als Declaration und const f = function() {} als Expression — mit Unterschieden im Hoisting und Naming
- 02 Arrow Functions Die kompakte Funktions-Syntax mit =>, ihr lexikalisches this-Binding und die Stellen, an denen sie NICHT die richtige Wahl ist
- 03 Default, Rest & Spread Default-Werte für Parameter, Rest-Parameter für variadic Funktionen und Spread im Funktions-Aufruf — die drei Parameter-Modernisierungen aus ES2015
- 04 Closures Closures: Funktionen, die auf Variablen ihres Definitions-Scopes zugreifen, auch wenn dieser längst beendet ist — Kapselung, private State, Memoization
- 05 IIFE Eine Funktion, die direkt nach ihrer Definition aufgerufen wird — historisch der Modul-Ersatz vor ESM, heute nur noch selten nötig
- 06 this in Funktionen Die vier Binding-Regeln für this in klassischen Funktionen, das lexikalische Verhalten in Arrows und der Unterschied zwischen strict und sloppy Mode
- 07 call, apply, bind Die drei Function-Prototype-Methoden, um this explizit zu setzen — call/apply rufen sofort auf, bind liefert eine neue Funktion
- 08 Currying & Partial Application Currying: eine n-stellige Funktion in eine Kette einstelliger Funktionen umwandeln. Partial Application: einige Argumente vorbelegen, Rest später
- 09 First-Class Functions Funktionen sind in JavaScript First-Class Values: zuweisbar an Variablen, übergebbar als Argumente, returnbar als Werte — das Fundament aller funktionalen Patterns