TypeScript - Simbol: Panduan untuk Pemula
Hai sana, bintang coding masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia Simbol TypeScript. Jangan khawatir jika Anda belum pernah memrogram sebelumnya – saya akan menjadi panduan ramah Anda, dan kita akan menjelajahi topik ini langkah demi langkah. Jadi, ambil secangkir minuman favorit Anda, dan mari kita masuk ke dalam!
Apa Itu Simbol?
Sebelum kita masuk ke hal-hal yang teknis, mari kita mengerti apa itu Simbol. Bayangkan Anda memiliki peti Harta Karun, dan Anda butuh kunci unik untuknya. Dalam TypeScript, Simbol seperti kunci unik itu – mereka adalah pengenal khusus, satu kali saja yang Anda dapat gunakan dalam kode Anda.
Sintaks: Bagaimana Membuat Simbol
Membuat Simbol adalah semudah membuat sandwich (mungkin bahkan lebih mudah!). Berikut cara Anda melakukannya:
let mySymbol = Symbol();
Itu saja! Anda baru saja membuat Simbol pertama Anda. Tetapi menunggu, ada lagi! Anda juga dapat memberikan Simbol Anda deskripsi:
let namedSymbol = Symbol("Ini adalah simbol khusus saya");
Pertimbangkan deskripsi ini sebagai tag nama untuk Simbol Anda. Itu tidak mengganggu keunikannya, tetapi itu dapat membantu Anda mengidentifikasi nya nanti.
Latihan Kecil
Mari kita membuat dua Simbol dan membandingkan mereka:
let symbol1 = Symbol();
let symbol2 = Symbol();
console.log(symbol1 === symbol2); // Output: false
Meskipun kedua simbol ini diciptakan tanpa deskripsi, mereka tetap unik. Itu seperti kembar – mereka mungkin terlihat sama, tetapi mereka adalah individu yang berbeda!
Simbol Adalah Unik dan Tak Bisa Diubah
Sekarang, mari bicarakan dua kata besar: unik dan tak bisa diubah.
Unik
Setiap Simbol yang Anda buat adalah unik, seperti salju. Bahkan jika Anda menciptakan dua Simbol dengan deskripsi yang sama, mereka tetap berbeda:
let sym1 = Symbol("mySymbol");
let sym2 = Symbol("mySymbol");
console.log(sym1 === sym2); // Output: false
Tak Bisa Diubah
Setelah Anda menciptakan Simbol, Anda tidak dapat mengubahnya. Itu seperti mengukir sesuatu di batu – itu ada untuk selamanya.
let immutableSymbol = Symbol("Saya tidak bisa diubah");
// Tidak ada cara untuk mengubah immutableSymbol!
Simbol Sebagai Kunci untuk Properti Objek
Salah satu hal yang paling menarik tentang Simbol adalah Anda dapat menggunakannya sebagai kunci untuk properti objek. Itu seperti memiliki kamar rahasia di peti Harta Karun Anda yang hanya Anda tahu!
let specialKey = Symbol("secretCompartment");
let treasureChest = {
[specialKey]: "Harta karun tersembunyi!",
gold: 100,
silver: 200
};
console.log(treasureChest[specialKey]); // Output: "Harta karun tersembunyi!"
console.log(treasureChest.gold); // Output: 100
Dalam contoh ini, specialKey
adalah Simbol yang kita gunakan untuk mengakses properti rahasia objek treasureChest
. Properti biasa seperti gold
tetap bekerja biasa, tetapi kunci Simbol kita menambahkan lapisan keunikannya.
Simbol Dengan Statement Switch
Simbol juga dapat digunakan dalam statement switch. Itu seperti memiliki kunci khusus yang hanya membuka untuk kunci tertentu:
let actionSymbol = Symbol("action");
switch (actionSymbol) {
case Symbol("action"):
console.log("Ini tidak akan dicatat");
break;
case actionSymbol:
console.log("Ini akan dicatat");
break;
default:
console.log("Kasus default");
}
Ingat, meskipun kita memiliki Symbol("action")
di kasus pertama, itu bukanlah sama seperti actionSymbol
. Setiap Simbol adalah unik!
Simbol Unik
TypeScript juga memiliki konsep yang disebut "simbol unik". Ini adalah Simbol yang sangat khusus – mereka adalah Simbol yang TypeScript memperlakukan sebagai memiliki jenis unik sepenuhnya:
const uniqueSymbol: unique symbol = Symbol("Saya unik!");
// Ini bisa:
let symVar1: typeof uniqueSymbol = uniqueSymbol;
// Ini tidak bisa:
// let symVar2: unique symbol = Symbol("Saya juga unik!");
// Kesalahan: Variabel yang jenisnya 'unique symbol' harus 'const'.
Simbol unik harus dideklarasikan dengan const
, dan mereka tidak dapat diciptakan lagi. Mereka seperti koleksi edisi terbatas – sekali mereka hilang, mereka hilang!
Metode untuk Bekerja dengan Simbol
Mari kita lihat beberapa metode yang berguna untuk bekerja dengan Simbol:
Metode | Deskripsi | Contoh |
---|---|---|
Symbol.for() |
Membuat Simbol di registri Simbol global | let globalSym = Symbol.for("myGlobalSymbol"); |
Symbol.keyFor() |
Mendapatkan kunci Simbol di registri Simbol global | let key = Symbol.keyFor(globalSym); |
Object.getOwnPropertySymbols() |
Mengembalikan array semua properti Simbol yang ditemukan di objek tertentu | let symbols = Object.getOwnPropertySymbols(myObject); |
Berikut adalah contoh cepat bagaimana menggunakan metode ini:
let globalSym = Symbol.for("myGlobalSymbol");
console.log(Symbol.keyFor(globalSym)); // Output: "myGlobalSymbol"
let obj = {
[Symbol("key1")]: "value1",
[Symbol("key2")]: "value2"
};
console.log(Object.getOwnPropertySymbols(obj).length); // Output: 2
Dan itu saja! Anda baru saja menyelesaikan kursus cepat dalam Simbol TypeScript. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba konsep ini dalam kode Anda sendiri. Siapa tahu? Anda mungkin hanya mengunci kekuatan coding super Anda! ?♂️✨
Credits: Image by storyset