simbol es6 ialah jenis asas. Simbol ialah jenis data asas baharu yang diperkenalkan dalam es6, yang mewakili nilai unik fungsinya adalah untuk mengelakkan konflik nama atribut dan memastikan setiap nama atribut dalam objek adalah unik.
Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
Symbol
ialah jenis data asas, jenis data baharu yang diperkenalkan dalam ES6.
Tujuannya adalah untukmencegah konflik nama atribut dan memastikan setiap nama atribut dalam objek adalah unik.
let s1 = Symbol('foo'); let s2 = Symbol('foo'); s1 === s2 // false
penerangan contoh Simbol. Jadi dua contoh jenis Simbol dengan penerangan yang sama adalah tidak sama.
Cara menggunakanlet s = Symbol(); // 第一种写法 let a = {}; a[mySymbol] = 'Hello!'; // 第二种写法 let a = { [mySymbol]: 'Hello!' }; // 第三种写法 let a = {}; Object.defineProperty(a, mySymbol, { value: 'Hello!' }); // 以上写法都得到同样结果 a[mySymbol] // "Hello!"
. Jika tidak digunakan, ia mewakili rentetan yang sama dengan nama pembolehubah sebagai nama atribut. []
Simbol digunakan sebagai nama atribut Apabila melintasi objek, atribut tidak akan muncul dalam gelung,
for...in
, dan juga tidak akan disertakan dalamfor...of
, <. . Kaedah ini mengembalikan tatasusunan yang ahlinya adalah semua nilai Simbol yang digunakan sebagai nama harta objek semasa.Object.keys()
Object.getOwnPropertyNames()
JSON.stringify()
Cara menggunakan nilai Simbol yang sama
Menggunakan kaedah, pembolehubah yang dibuat dengan parameter yang sama akan mempunyai nilai yang sama. Kerana pembolehubah Simbol yang dibuat menggunakan kaedah ini akan mendaftarkan parameter secara global. Parameter pembolehubah yang dicipta oleh
Object.getOwnPropertySymbols()
tidak akan didaftarkan secara global.
Symbol.for("bar") === Symbol.for("bar") // true
Nilai atribut terbina dalam simbol Symbol.for()
Symbol()
let s1 = Symbol.for("foo"); Symbol.keyFor(s1) // "foo" let s2 = Symbol("foo"); Symbol.keyFor(s2) // undefined
Symbol.keyFor()
Symbol.hasInstance
instanceof
Symbol.isConcatSpreadable
Symbol.species
Symbol.match
Symbol.replace
Symbol.search
Symbol.split
Symbol.iterator
Symbol.toPrimitive
【Cadangan berkaitan:
, Symbol.toStringTag
bahagian hadapan web
Atas ialah kandungan terperinci Adakah simbol es6 jenis asas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!