Arrow Function

JavaScript 🟢 Junior

Definition

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.
#core#ES6#fondamental