Symboles JavaScript

Un tutoriel facile à suivre pour comprendre les symboles JavaScript

Symbol est un type de données JavaScript primitif, avecchaîne de caractères,numéro, booléen, nul et indéfini.

Il a été introduit enECMAScript 2015, donc il y a à peine quelques années.

C'est un type de données très particulier. Une fois que vous créez un symbole, sa valeur reste privée et à usage interne.

Tout ce qui reste après la création est la référence du symbole.

Vous créez un symbole en appelant leSymbol()fonction d'usine globale:

const mySymbol = Symbol()

Chaque fois que vous invoquezSymbol()nous obtenons un nouveau symbole unique, garanti différent de tous les autres symboles:

Symbol() === Symbol() //false

Vous pouvez passer un paramètre àSymbol(), et qui est utilisé comme symbolela description, utile uniquement à des fins de débogage:

console.log(Symbol()) //Symbol()
console.log(Symbol('Some Test')) //Symbol(Some Test)

Les symboles sont souvent utilisés pour identifier les propriétés des objets.

Souvent pour éviter les conflits de noms entre les propriétés, car aucun symbole n'est égal à un autre.

Ou pour ajouter des propriétés que l'utilisateur ne peut pas écraser, intentionnellement ou sans s'en rendre compte.

Exemples:

const NAME = Symbol()
const person = {
  [NAME]: 'Flavio'
}

person[NAME] //‘Flavio’ const RUN = Symbol() person[RUN] = () => ‘Person is running’ console.log(personRUN) //‘Person is running’

Les symboles ne sont pas énumérés, ce qui signifie qu'ils ne sont pas inclus dans unfor..ofoufor..inbouclecouru sur un objet.

Les symboles ne font pas partie duObject.keys()ouObject.getOwnPropertyNames()résultat.

Vous pouvez accéder à tous les symboles attribués à un objet à l'aide duObject.getOwnPropertySymbols()méthode.

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: