"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > الرموز والكائنات في JS♥

الرموز والكائنات في JS♥

تم النشر بتاريخ 2024-11-08
تصفح:372

Symbols and Objects in JS♥

نوع بيانات الرمز

الرمز هو نوع بيانات في JS. يتم استخدامه عادةً لإنشاء مفاتيح فريدة ومفاتيح كائنات مخفية في Javascript.

هناك نوعان من الرموز

  1. الرموز المحلية - لم يتم تسجيلها في سجل الرموز العالمي والقيم فريدة حتى مع نفس الواصف.
  2. الرموز العالمية - تم تسجيلها في سجل الرموز العالمية والقيم ليست فريدة

سجل الرموز العالمي: سجل الرموز العالمي هو مساحة يتم فيها تخزين الرموز التي تم إنشاؤها باستخدام رمز.for.

بناء الجملة
في المثال أدناه، يعتبر "john" وصفًا وkey_one وkey_two رمزان.

const key_one = Symbol("john"); //local symbol
const key_two = Symbol.for("john"); //global symbol
console.log(typeof key_one) // symbol
console.log(typeof key_two); //symbol

الفرق الرئيسي

واصف القيم نفسها ليس هو نفسه في الرموز المحلية

كما قلت سابقًا أن كل رمز فريد من نوعه حتى لو كان الواصف هو نفسه في الرموز المحلية. دعونا التحقق من صحة ذلك.

برنامج

const key_one = Symbol("john");
const key_two = Symbol("john");
key_one == key_two // false
key_one === key_two //false

واصف نفس القيم هو نفسه في الرموز العالمية

const key_one = Symbol.for("foo");
const key_two = Symbol.for("foo");
console.log(key_one === key_two); //true

بعض الحقائق عن الأشياء والرموز

  1. لا يتم تحويل الرموز إلى سلسلة.
  2. لا يمكنك الوصول إلى كلا الرمزين باستخدام... في الحلقة
  3. لا يمكنك الوصول إلى كلا الرمزين حتى مع خاصية Object.keys()
  4. يتم تحويل كل مفتاح في الكائنات إلى أرقام زوجية.
  5. يمكنك رؤية جميع رموز الكائن باستخدام وظيفة Object.getOwnPropertySymbols()

برنامج

const zero = Symbol("0");
const temp = {
 0:"zero",
 1:"one",
 [zero]:"zero",
 1.1:"one one",
}
const keys = Object.keys(temp); //["0","1","1.1"]
console.log(temp[1.1]) // one one
console.log(Object.getOwnPropertySymbols(temp)) // [Symbol(0)]

كيفية الحصول على واصف في رمز.for ()

استخدام الرمز keyFor(symbol) يمكن أن يمنحك واصفًا للرموز العالمية

const key_one = Symbol.for("john")
Symbol.keyFor(key_one) // "john"
typeof Symbol.keyFor(key_one) //string

الرجاء دعمي على dev.to وLinkedin؟. تاي؟

بيان الافراج تم نشر هذه المقالة على: https://dev.to/aryan015/symbols-and-objects-in-js-3ko7?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3