Un Symbole
dans ES6 (ou ECMAScript 6, une version particulière de JavaScript) est principalement utilisé pour créer des identifiants uniques et immuables.
Dans JavaScript, les symboles sont un type de données primitif qui sont utilisés pour créer des identifiants uniques. Ces identifiants sont utilisés pour nommer les propriétés d'un objet.
let id = Symbol("id");
let user = {
name: "Jean",
age: 25,
[id]: 12345
};
Dans l'exemple ci-dessus, id
est un symbole qui est utilisé comme clé pour une propriété de l'objet user
.
L'une des caractéristiques remarquables des symboles est leur unicité garantie. Même si vous créez deux symboles avec la même description, ils sont considérés comme différents.
let id1 = Symbol("id");
let id2 = Symbol("id");
console.log(id1 === id2); // Renvoie 'false'
Cela s'avère utile lorsque nous travaillons avec des objets tiers pour éviter les collisions de noms de propriétés.
Les Symbole
sont immuables, ce qui signifie que leur valeur une fois fixée ne peut être modifiée. Cela les rend sécurisés pour l'identification des propriétés d'un objet, car une fois qu'un Symbole
est créé, il ne peut pas être changé accidentellement.
let id = Symbol("id");
id = "autre id"; // Erreur
Dans l'exemple ci-dessus, essayer de changer la valeur du Symbole
id
entraîne une erreur.
Bien que les Symbole
soient puissants, il est important de les utiliser judicieusement. Ajouter trop de symboles à un objet peut rendre le code difficile à comprendre et à maintenir.
Par ailleurs, contrairement aux autres types de données primitif de JavaScript comme les nombres et les chaînes de caractères, les symboles ne sont pas automatiquement convertis en chaînes de caractères. Pour convertir un symbole en une chaîne de caractères, vous devrez utiliser la méthode toString()
.
In fine, les Symbole
sont un outil puissant dans ES6 et, lorsqu'ils sont utilisés correctement, ils peuvent renforcer l'intégrité du code en garantissant l'unicité et l'immutabilité des identifiants.