Symbol
JavaScript 🟡 MidDefinition
Type primitif unique et immutable cree par Symbol(). Utilise comme cle de propriete pour eviter les collisions. Les well-known symbols (Symbol.iterator, etc.) customisent le comportement du langage.
Analogie
Un numero de serie unique grave sur une cle : meme si deux cles se ressemblent, leurs numeros sont differents.
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
Creer des proprietes privees-like, definir des protocoles (iterator), eviter les collisions de noms en libs.