Heim > Web-Frontend > js-Tutorial > Hauptteil

Symbole und Objekte in JS♥

Linda Hamilton
Freigeben: 2024-10-11 18:38:02
Original
692 Leute haben es durchsucht

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 im globalen Symbolregister registriert und Werte sind auch bei gleichem 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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

einige Fakten über Objekte und Symbole

  1. Symbole werden nicht in Zeichenfolgen 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 gerade Zahlenketten 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)]
Nach dem Login kopieren

So erhalten Sie einen Deskriptor in Symbol.for()

Mit Symbol.keyFor(symbol) können Sie einen Deskriptor globaler Symbole erhalten

const key_one = Symbol.for("john")
Symbol.keyFor(key_one) // "john"
typeof Symbol.keyFor(key_one) //string
Nach dem Login kopieren

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

Das obige ist der detaillierte Inhalt vonSymbole und Objekte in JS♥. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!