Arrow Function
JavaScript 🟢 JuniorDefinition
Syntaxe compacte pour les fonctions anonymes avec =>, qui ne possede ni son propre this, ni arguments, ni super. Le this est herite du scope lexical englobant.
Analogie
Un assistant qui n'a pas de bureau propre (pas de this) : il utilise toujours le bureau de son chef (scope parent).
Exemple de code
const add = (a, b) => a + b;
const greet = name => `Hello ${name}`;
const getObj = () => ({ key: 'value' });
class Timer {
start() {
setInterval(() => console.log(this), 1000);
// this = instance Timer (lexical)
}
}
Cas d'usage
Callbacks, methodes de tableaux (map, filter), quand on veut capturer le this du parent.
Anti-pattern
Utiliser une arrow function comme methode d'objet literal : this ne pointe pas vers l'objet.