Rumah >hujung hadapan web >tutorial js >Apakah simbol yang digunakan dalam js?
Simbol digunakan sebagai pengecam unik yang tidak berubah dalam JavaScript Kegunaan utamanya termasuk: sebagai harta peribadi objek, mengenal pasti ahli kelas, kunci pemetaan, nilai pulangan fungsi penjana dan sifat objek terbina dalam yang lain.
Penggunaan Simbol dalam JavaScript
Simbol ialah jenis nilai unik dalam JavaScript yang pada asasnya merupakan pengecam unik yang tidak boleh diubah. Kegunaan utamanya ialah:
1 Sebagai harta persendirian objek
Simbol boleh digunakan sebagai harta persendirian objek kerana ia tidak akan muncul dalam Object.keys()
. Ini menjadikannya sesuai untuk menyimpan data sensitif atau untuk pengurusan keadaan dalaman. for...in
循环或 Object.keys()
方法中。这使得它非常适合存储敏感数据或用于内部状态管理。
示例代码:
<code class="js">const user = { [Symbol("secretData")]: "Confidential information" };</code>
2. 作为类成员的标识符
Symbol 可以用于标识类中的成员,例如方法或属性。这可以防止意外覆盖或冲突。
示例代码:
<code class="js">class Person { static [Symbol("getName")]() { return "John Doe"; } }</code>
3. 作为映射键
Symbol 可以用作映射(Map 或 WeakMap)的键。这对于创建更具可读性和可维护性的代码非常有用。
示例代码:
<code class="js">const myMap = new Map(); myMap.set(Symbol("key1"), "value1");</code>
4. 作为生成器函数的返回值
Symbol 可以用作生成器函数的返回值,以表示一个可迭代对象的唯一标识。
示例代码:
<code class="js">function* myGenerator() { yield 1; yield 2; } const mySymbol = Symbol.iterator; const myIterator = myGenerator()[mySymbol]();</code>
5. 作为其他内置对象的属性
Symbol 也被用作其他内置对象的属性,例如:
Symbol.iterator
: 表示对象的默认迭代器Symbol.hasInstance
: 用于检查对象是否是指定类的实例Symbol.species
Symbol.hasInstance
: Digunakan untuk menyemak sama ada objek itu adalah tika kelas yang ditentukan🎜Atas ialah kandungan terperinci Apakah simbol yang digunakan dalam js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!