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

هل عناصر جافا سكريبت الأولية هي في الواقع كائنات؟

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

Are Javascript Primitives Actually Objects?

أساسيات جافا سكريبت مقابل الكائنات: توضيح الفكرة

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

البدائيات

على النقيض من الكائنات، البدائيات هي قيم ثابتة موجودة في شكلها الأساسي. وهي تفتقر إلى الأساليب والخصائص، وتتضمن أنواع البيانات مثل:

    Strings
  • Numbers
  • Booleans
Object الأغلفة

تحتوي العناصر الأولية على أغلفة كائنات مقابلة (سلسلة، رقم، منطقية) توفر الأساليب والخصائص. ومع ذلك، فإن البدائيين أنفسهم ليسوا كائنات. للتفاعل مع خصائص البدائية، تقوم جافا سكريبت ضمنيًا بإنشاء كائن مجمّع للعملية.

مثال مع السلاسل

ضع في اعتبارك مقتطف التعليمات البرمجية أدناه:

var s = "foo"; فار الفرعية = s.substring(1, 2); // sub هي الآن السلسلة "o"

تنفذ Javascript داخليًا الخطوات التالية:
var s = "foo";
var sub = s.substring(1, 2); // sub is now the string "o"
ينشئ كائن سلسلة مجمّع من s.

يستدعي السلسلة الفرعية ( ) على كائن السلسلة.
  1. يتخلص من كائن السلسلة.
  2. يعيد النتيجة الناتجة سلسلة.
  3. محاولة تعيين خصائص للأوليات
إن تعيين الخصائص للأوليات غير ممكن بشكل فعال لأن أي خصائص من هذا القبيل سوف تكون مرتبطة بكائن الغلاف المؤقت و ليست البدائية نفسها:

var s = "foo"; s.bar = "الجبن"; تنبيه (s.bar)؛ // غير محدد

الوظائف ككائنات

var s = "foo";
s.bar = "cheese";
alert(s.bar); // undefined

function foo() {} foo.bar = "الشاي"; تنبيه (foo.bar)؛ // Tea في الختام، في حين أنه قد يبدو أن البدائيين لديهم سلوك يشبه الكائن، إلا أنهم يختلفون عن الكائنات الحقيقية في Javascript. تسمح أغلفة الكائنات بالتفاعل مع القيم البدائية، لكن البدائية تظل غير قابلة للتغيير. ومع ذلك، فإن الوظائف هي كائنات بالغة الأهمية، وهي كائنات مكتملة قادرة على القيام بجميع قدرات الكائن. يوضح هذا الفهم العلاقة بين الأوليات والكائنات في لغة جافا سكريبت.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3