„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Symbole und Objekte in JS♥

Symbole und Objekte in JS♥

Veröffentlicht am 08.11.2024
Durchsuche:405

Symbols and Objects in JS♥

Symboldatentyp

Symbol ist ein Datentyp in JS. Es wird normalerweise zum Erstellen eindeutiger Schlüssel und versteckter Objektschlüssel in Javascript verwendet.

Es gibt zwei Arten von Symbolen

  1. Lokale Symbole – Sie sind nicht in der globalen Symbolregistrierung registriert und Werte sind auch bei demselben Deskriptor eindeutig.
  2. Globale Symbole – Sie sind im globalen Symbolregister registriert und die Werte sind nicht eindeutig

Globale Symbolregistrierung: Die globale Symbolregistrierung ist ein Bereich, in dem mit Symbol.for erstellte Symbole gespeichert werden.

Syntax
Im folgenden Beispiel ist „john“ ein Deskriptor und key_one und key_two sind Symbole.

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

Hauptunterschied

Deskriptoren mit gleichen Werten sind in lokalen Symbolen nicht gleich

Wie ich bereits sagte, ist jedes Symbol einzigartig, auch wenn der Deskriptor in lokalen Symbolen derselbe ist. Lasst es uns validieren.

App

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

Deskriptoren gleicher Werte sind in globalen Symbolen gleich

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

einige Fakten über Objekte und Symbole

  1. Symbole werden nicht in String umgewandelt.
  2. Sie können mit der for...in-Schleife nicht auf beide Symbole zugreifen
  3. Sie können nicht auf beide Symbole zugreifen, auch nicht mit der Eigenschaft Object.keys()
  4. Jeder Schlüssel in Objekten wird in eine gerade Zahl umgewandelt.
  5. Sie können alle Symbole eines Objekts mit der Funktion Object.getOwnPropertySymbols() sehen

App

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)]

So erhalten Sie einen Deskriptor in Symbol.for()

Mit Symbol.keyFor(symbol) können Sie einen Deskriptor für globale Symbole erhalten

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

Bitte unterstützen Sie mich auf dev.to und LinkedIn ?. TY?

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/aryan015/symbols-and-objects-in-js-3ko7?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3