لقد استخدمت مثيل و typeof من حين لآخر من قبل ، وخاصة typeof ، وقد استخدمته أكثر. اليوم ، لقد درست رمز مصدر Ext و extureof المستخدمة في العديد من الأماكن. شعرت فجأة أنهم متشابهون إلى حد ما ولكن يجب أن يكون مختلفًا. قرأت بعض المقالات عبر الإنترنت ولديهم فهم معين للعلاقة بينهما.
يمكن استخدام مثيل و typeof لتحديد ما إذا كان المتغير فارغًا أو نوع المتغير.
يستخدم typeof للحصول على نوع المتغير. يمكن لـ TypeOF عمومًا إرجاع النتائج التالية فقط: الرقم ، المنطقية ، السلسلة ، الوظيفة ، الكائن ، غير المحدد. يمكننا استخدام typeof للحصول على ما إذا كان هناك متغير ، مثل إذا (typeof a! = "undefined") {} ، بدلاً من استخدام إذا (أ) لأنه إذا لم يكن موجودًا (لم يتم الإعلان عنه) ، فسيحدث خطأ. بالنسبة للكائنات الخاصة مثل Array ، Null ، وما إلى ذلك ، ستعيد الكائن. هذا هو الحد من typeof.
إذا كنا نريد الحصول على ما إذا كان الكائن عبارة عن صفيف ، أو نحدد ما إذا كان المتغير هو مثيل لكائن ما ، فنحن بحاجة إلى اختيار استخدام مثيل. يتم استخدام مثيل لتحديد ما إذا كان المتغير هو مثيل لكائن. على سبيل المثال ، var a = new array () ؛ ALERT (A extryof array) ؛ سيعود صحيح ، وسيعود تنبيه (كائن مثيل) أيضًا ؛ هذا لأن الصفيف هو فئة فرعية من الكائن. على سبيل المثال: دالة اختبار () {} ؛ var a = new test () ؛ تنبيه (اختبار مثيل) سيعود صحيحًا.
عندما يتعلق الأمر بـ Offeanof ، نحتاج إلى إدراج مشكلة أخرى ، أي حجج الوظائف. قد نعتقد جميعًا أن الحجج هي صفيف ، ولكن إذا استخدمنا مثيلًا للاختبار ، فسنجد أن الحجج ليست كائن صفيف ، على الرغم من أنها تبدو متشابهة للغاية.