Heim > Web-Frontend > js-Tutorial > Hauptteil

Erläuterung des Symboldatentyps in ES

一个新手
Freigeben: 2017-09-27 09:56:48
Original
1799 Leute haben es durchsucht


Funktion

Deklarieren Sie eine eindeutige Variable

Zwei Symbole sind nicht gleich.

let a1 = Symbol();  //不用newlet a2 = Symbol();
console.log(a1===a2); //false
Nach dem Login kopieren

Schlüsselwertkonflikte verhindern

let a1=Symbol.for('abc');let obj={
        [a1]:'123',        'abc':345,        'c':456};
console.log('obj',obj);  // {abc: 345, c: 456, Symbol(abc): "123"}
Nach dem Login kopieren

[a1] ist das obige Symbol, sein Schlüsselwert ist „abc“,

und es gibt auch einen Schlüssel unten Der Wert ist „abc“, es liegt jedoch kein Konflikt vor.

Methode

Symbol.for() Schlüsselwert suchen

Diese Methode sucht den Schlüsselwert global,

If If hat , gibt den Wert zurück;

wenn nicht hat, dann generiert den Schlüsselwert .

let a3=Symbol.for('a3'); //声明keylet a4=Symbol.for('a3'); //找到变量a3对应的key值
console.log(a3===a4);    //a3 === a3
Nach dem Login kopieren

Object.getOwnPropertySymbols() Wert abrufen

Es kann nur der Wert von Symbol() abgerufen werden, kann nicht den Wert gewöhnlicher Eigenschaften abrufen
Zurückgeben Wert:

Array

Instanz

let s5 = Symbol('s5');let s6 = Symbol('s6');let a = {
    [s5]: 'rs5',
    [s6]: 'rs6'}Object.getOwnPropertySymbols(a).forEach(function(item){
    console.log(a[item]);  // rs5  rs6})
Nach dem Login kopieren

Reflect.ownKeys() ruft Schlüssel und Wert ab

Sie kann die Schlüssel- und Wertwerte von Symbol() und Nicht-Symbol
abrufen. Rückgabewert: Array Instanz

let s5 = Symbol('s5');let s6 = Symbol('s6');let a = {
    [s5]: 'rs5',
    [s6]: 'rs6'}

Reflect.ownKeys(a).forEach(function(item){
    console.log(item,a[item]); // Symbol(s5) "rs5"  Symbol(s6) "rs6"})
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonErläuterung des Symboldatentyps in ES. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
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!