Rumah > hujung hadapan web > tutorial js > Simbol dalam Javascript dengan Contoh

Simbol dalam Javascript dengan Contoh

Susan Sarandon
Lepaskan: 2024-12-03 19:16:10
asal
578 orang telah melayarinya

Symbol in Javascript with Example

Simbol ialah objek terbina dalam yang pembinanya mengembalikan simbol primitif — juga dipanggil Nilai simbol atau hanya Simbol  — ia dijamin unik. Simbol sering digunakan untuk menambah kunci sifat unik pada objek yang tidak akan berlanggar dengan kekunci mana-mana kod lain yang mungkin ditambahkan pada objek, dan yang disembunyikan daripada sebarang mekanisme yang biasanya digunakan oleh kod lain untuk mengakses objek. Itu membolehkan satu bentuk pengkapsulan yang lemah, atau bentuk penyembunyian maklumat yang lemah.

Contoh: Menggunakan Simbol sebagai Kunci Harta Unik

javascript
Copy code
// Create unique symbols
const id = Symbol('id');
const name = Symbol('name');

// Create an object with symbol-based properties
const user = {
    [id]: 101,
    [name]: 'Alice',
    age: 25
};

// Access the symbol properties
console.log(user[id]); // 101
console.log(user[name]); // "Alice"

// Add another property using a symbol
const email = Symbol('email');
user[email] = 'alice@example.com';

console.log(user[email]); // "alice@example.com"

// Symbols are not enumerable in for...in loops or Object.keys
for (const key in user) {
    console.log(key); // Only "age" is logged
}

console.log(Object.keys(user)); // ["age"]

// You can still access all properties if you know the symbol keys
console.log(Object.getOwnPropertySymbols(user)); // [Symbol(id), Symbol(name), Symbol(email)]

Salin selepas log masuk

Contoh: Menggunakan Symbol.iterator untuk Menjadikan Objek Boleh Diterbalikkan

javascript
Copy code
const collection = {
    items: ['apple', 'banana', 'cherry'],
    [Symbol.iterator]() {
        let index = 0;
        const items = this.items;
        return {
            next() {
                if (index < items.length) {
                    return { value: items[index++], done: false };
                } else {
                    return { done: true };
                }
            }
        };
    }
};

// Iterate over the object
for (const item of collection) {
    console.log(item);
}
// Output:
// apple
// banana
// cherry

Salin selepas log masuk

Contoh ini menunjukkan cara Symbol.iterator membenarkan objek tersuai diulang menggunakan untuk...of.

Simbol yang boleh digunakan dalam perpustakaan npm popular :

Contoh: Menggunakan Simbol dalam Pustaka npm Popular

Contoh penggunaan Simbol yang ketara adalah dalam rangka kerja Express.js, rangka kerja aplikasi web yang digunakan secara meluas untuk Node.js. Dalam Express.js, Symbol digunakan untuk mentakrifkan kunci harta yang unik, menghalang potensi konflik dengan sifat yang ditentukan pengguna.

Snippet Kod daripada Express.js:

javascript
Copy code
// In Express.js, a symbol is used to define a unique property key
const app = express();
app[Symbol('router')] = router;

Salin selepas log masuk

Dalam coretan ini, Symbol('router') mencipta simbol unik yang berfungsi sebagai kunci sifat untuk objek apl. Pendekatan ini memastikan bahawa sifat penghala adalah berbeza dan tidak mengganggu sifat lain yang mungkin ditambahkan pada objek apl.

Faedah Menggunakan Simbol dalam Perpustakaan:

  • Keunikan: Simbol menjamin bahawa kunci harta adalah unik, mengurangkan risiko tiruan tidak sengaja.
  • Ketidakbolehubah: Setelah dicipta, simbol tidak boleh ditukar, memberikan pengecam yang stabil.
  • Ketidakbolehhitungan: Sifat yang dikunci oleh simbol tidak boleh dikira dalam gelung, yang boleh memberi manfaat untuk sifat dalaman yang tidak sepatutnya didedahkan.

Atas ialah kandungan terperinci Simbol dalam Javascript dengan Contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan