"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Symboles et objets en JS♥

Symboles et objets en JS♥

Publié le 2024-11-08
Parcourir:279

Symbols and Objects in JS♥

Type de données de symbole

Le symbole est un type de données en JS. Il est généralement utilisé pour créer des clés uniques et des clés d'objets cachés en Javascript.

Il existe deux types de symboles

  1. Symboles locaux - Ils ne sont pas enregistrés dans le registre mondial des symboles et les valeurs sont uniques même avec le même descripteur.
  2. Symboles globaux - Ils sont enregistrés dans le registre mondial des symboles et les valeurs ne sont pas uniques

registre global des symboles : le registre global des symboles est un espace où sont stockés les symboles créés à l'aide de Symbol.for.

syntaxe
Dans l'exemple ci-dessous, "john" est un descripteur et key_one et key_two sont des symboles.

const key_one = Symbol("john"); //local symbol
const key_two = Symbol.for("john"); //global symbol
console.log(typeof key_one) // symbol
console.log(typeof key_two); //symbol

Différence clé

Les descripteurs des mêmes valeurs ne sont pas les mêmes dans les symboles locaux

Comme je l'ai dit plus tôt, chaque symbole est unique même si le descripteur est le même dans les symboles locaux. Validons-le.

application

const key_one = Symbol("john");
const key_two = Symbol("john");
key_one == key_two // false
key_one === key_two //false

Le descripteur des mêmes valeurs est le même dans les symboles globaux

const key_one = Symbol.for("foo");
const key_two = Symbol.for("foo");
console.log(key_one === key_two); //true

quelques faits sur les objets et les symboles

  1. les symboles ne sont pas convertis en chaîne.
  2. Vous ne pouvez pas accéder aux deux symboles en utilisant for...in loop
  3. Vous ne pouvez pas accéder aux deux symboles même avec la propriété Object.keys()
  4. Chaque clé des objets est convertie en chaîne de nombres pairs.
  5. Vous pouvez voir tous les symboles d'un objet à l'aide de la fonction Object.getOwnPropertySymbols()

application

const zero = Symbol("0");
const temp = {
 0:"zero",
 1:"one",
 [zero]:"zero",
 1.1:"one one",
}
const keys = Object.keys(temp); //["0","1","1.1"]
console.log(temp[1.1]) // one one
console.log(Object.getOwnPropertySymbols(temp)) // [Symbol(0)]

comment obtenir un descripteur dans Symbol.for()

L'utilisation de Symbol.keyFor(symbol) peut vous obtenir un descripteur de symboles globaux

const key_one = Symbol.for("john")
Symbol.keyFor(key_one) // "john"
typeof Symbol.keyFor(key_one) //string

S'il vous plaît, soutenez-moi sur dev.to et linkedin ?. TY ?

Déclaration de sortie Cet article est reproduit sur : https://dev.to/aryan015/symbols-and-objects-in-js-3ko7?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3