21. مقدمة إلى نوع Symbol
Symbol هو نوع بيانات بدائي تم تقديمه في ES6. غرضه الأساسي هو إنشاء معرّفات فريدة حقًا لخصائص الكائن (Object properties)، مما يمنع تعارضات التسمية (naming collisions).
إنشاء الـ Symbols
يتم إنشاء Symbols باستخدام الدالة Symbol(). ويضمن أن تكون فريدة.
javascript const ID1 = Symbol('id'); const ID2 = Symbol('id');
console.log(ID1 === ID2); // Output: false (Even though they have the same description, they are unique) (على الرغم من أنهما يحملان نفس الوصف، فإنهما فريدان)
let user = { name: 'Jane', [ID1]: 101 // Using Symbol as a property key (استخدام Symbol كمفتاح خاصية) };
console.log(user[ID1]); // Output: 101
حالة الاستخدام العملي
عند العمل مع كائنات معقدة أو كود طرف ثالث، تضمن Symbols أن مفاتيح الخاصية التي تضيفها لن تتعارض مع المفاتيح الموجودة أو المستقبلية، مما يجعل الكائنات أكثر قوة وقابلية للتوسع.