Arrow Function

JavaScript 🟢 Junior

Définition

Syntaxe compacte pour les fonctions anonymes avec =>, qui ne possède ni son propre this, ni arguments, ni super. Le this est hérité 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, méthodes de tableaux (map, filter), quand on veut capturer le this du parent.

Anti-pattern

Utiliser une arrow function comme méthode d'objet literal : this ne pointe pas vers l'objet.
#core#ES6#fondamental

← → au clavier pour passer d'une fiche à l'autre