Heim >Web-Frontend >Front-End-Fragen und Antworten >Was genau ist ein Symbol in es6?
symbol in es6 ist ein neuer primitiver Datentyp, der zur Darstellung eindeutiger Werte verwendet wird, da Symbol ein primitiver Datentyp und kein Objekt ist neuer Befehl.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, ECMAScript Version 6.0, Dell G3-Computer.
Zusätzlich zu Number, String, Boolean, Object, null und undefiniert fügen ES6-Datentypen auch Symbol hinzu.
Grundlegende VerwendungDer Symbol-Funktionsstapel kann den neuen Befehl nicht verwenden, da Symbol ein primitiver Datentyp und kein Objekt ist. Sie können eine Zeichenfolge als Parameter akzeptieren, um eine Beschreibung für das neu erstellte Symbol bereitzustellen, die auf der Konsole angezeigt oder zur einfachen Unterscheidung als Zeichenfolge verwendet werden kann.
let sy = Symbol("KK"); console.log(sy); // Symbol(KK) typeof(sy); // "symbol" // 相同参数 Symbol() 返回的值不相等 let sy1 = Symbol("kk"); sy === sy1; // falseParametereigenschaften
Der Parameter von Symbol speichert normalerweise eine Zeichenfolge, um verschiedene Werte zu identifizieren. Wenn der Parameter von Symbol ein Objekt ist, wird die toString-Methode des Objekts aufgerufen, um es in eine Zeichenfolge umzuwandeln ein Symbolwert.
var s1 = Symbol('id1'); var s2 = Symbol('id1'); console.log(s1 == s2);//false var s3 = Symbol({}); console.log(s3);//Symbol([object Object])
Die Parameter in Symbol stellen die Beschreibung des aktuellen Symbolwerts dar. Auch wenn die Parameter gleich sind, sind die beiden Symbolwerte nicht gleich.
Verwendung und FunktionenSymbol kann nicht als Objektattributname verwendet werden, und es müssen eckige Klammern verwendet werden. Da auf den .-Operator eine Zeichenfolge folgt, wird das sy-Attribut der Zeichenfolge erhalten, nicht das sy-Attribut des Symbolwerts.
let syObject = {}; syObject[sy] = "kk"; syObject[sy]; // "kk" syObject.sy; // undefined
【Verwandte Empfehlungen:
Javascript-Video-Tutorial, Web-Frontend】
Das obige ist der detaillierte Inhalt vonWas genau ist ein Symbol in es6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!