Symbol

JavaScript 🟡 Mid

Définition

Type primitif unique et immutable créé par Symbol(). Utilise comme clé de propriété pour éviter les collisions. Les well-known symbols (Symbol.iterator, etc.) customisent le comportement du langage.

Analogie

Un numéro de série unique grave sur une clé : même si deux clés se ressemblent, leurs numéros sont différents.

Exemple de code

const id = Symbol('id');
const user = { [id]: 123, name: 'Alice' };
user[id]; // 123
Object.keys(user); // ['name'] (symbol invisible)
// Well-known
class Range {
  *[Symbol.iterator]() { yield 1; yield 2; }
}

Cas d'usage

Créer des propriétés privées-like, définir des protocoles (iterator), éviter les collisions de noms en libs.

#core#ES6#avance

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