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

شرح سؤال مقابلة جافا سكريبت - خصائص الكائن

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

Javascript Interview Question Explanation- Object Properties

مرحباً بالقارئ،

سأشرح سؤال ترميز مقابلة جافا سكريبت. كيف يعمل مترجم جافا سكريبت وما ينتجه بالفعل كمخرجات.
سأقوم بتقسيم كل جزء من المخرجات، وشرح سبب ظهوره بهذه الطريقة، وربطه مرة أخرى بالسطور المحددة من التعليمات البرمجية المسؤولة

let a = {};
let b = { key: 'b' };
let c = { key: 'c' };

a[b] = 123;
a[c] = 456;

console.log(a[b])

قبل أن نتعمق في التفاصيل، توقف للحظة لإلقاء نظرة على مقتطف الشفرة هذا. حاول تخمين المخرجات التي ستعتمد على فهمك الحالي. لا يساعد هذا الأسلوب في تعزيز مهاراتك في JavaScript فحسب، بل يجعل الشرح التالي أكثر وضوحًا
"فكر في كيفية معالجة جافا سكريبت لكل سطر. بمجرد قيامك بالتخمين، استمر في القراءة لمعرفة ما إذا كنت قد فهمت الأمر بشكل صحيح!"

شرح الكود أعلاه

  1. للخط 1
let a = {};

الكود أعلاه، إنشاء كائن فارغ، وتعيينه للمتغير 'a'.

  1. للخط 2
let b = { key: 'b' };

ينشئ هذا السطر كائنًا بمفتاح خاصية واحد والقيمة 'b'، ويعينه للمتغير 'b'.

  1. للخط 3
let c = { key: 'c' };

يقوم هذا السطر بإنشاء كائن بمفتاح خاصية واحد والقيمة "c"، وتعيينه للمتغير "c".

  1. للخط 4
a[b] = 123;

a[b] = 123 يقوم هذا السطر بتعيين خاصية الكائن a باستخدام الكائن b كمفتاح. في JavaScript، عند استخدام كائن كمفتاح في كائن آخر، يتم تحويل الكائن أولاً إلى سلسلة باستخدام طريقة toString() . في هذه الحالة، تمثيل السلسلة للكائن b هو "[object Object]" . لذلك، تم تعيين الخاصية "[object Object]" للكائن a على القيمة 123.

  1. للخط 5
a[c] = 456;

مثل الخطوة السابقة، "c" هو أيضًا كائن ويتم تحويله إلى سلسلة، ويصبح ""[object Object]"".

لذلك فإن السطر a[c] = 456; يعادل "a[object Object]"=456، مما يعني أن هذا الكائن يحتوي على "[object كائن]" الخاصية وقيمتها 456.

  1. للخط 6
console.log(a[b])

الإخراج هو 456. عند محاولة الوصول إلى الخاصية "a[b]"، تقوم Javascript مرة أخرى بتحويل b إلى سلسلة، وهي "[object Object]". بما أن الكائن له خاصية بالمفتاح "[object Object]" وقيمته هي 456. لذلك سيتم طباعة الإخراج.


خاتمة

في الملخص، يوضح الكود أنه عند استخدام كائن كمفتاح في كائن آخر، يتم تحويل الكائن أولاً إلى تمثيل سلسلة، وهو "[كائن كائن]" افتراضيًا. وهذا يعني أنه يتم التعامل مع الكائنين b وc على أنهما نفس المفتاح، وآخر قيمة مخصصة لذلك المفتاح هي التي يتم استردادها.


اكتملت المهمة: كشف الرمز!

آمل أن لا يوضح هذا التفسير الكود فحسب، بل يثير أيضًا بعض الفضول لاستكشاف المزيد. جافا سكريبت مليئة بالمفاجآت والأدوات القوية، وكل جزء تتعلمه يجعلك أقرب إلى إتقانها.
شكرا على القراءة، وآمل أن تستمتع بهذا الانهيار! لا تتردد في مشاركة أفكارك أو أسئلتك أو أفكارك للمواضيع المستقبلية في التعليقات.

تعليمات سعيدة!

بيان الافراج تم نشر هذه المقالة على: https://dev.to/kawaljain/javascript-interview-question-explanation-object-properties-1hof?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3