الإجباري في JScript

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

تفاصيل قسرية

يسمح المحول البرمجي coercions الجميع ما لم يمكن إثبات أن الإجبار ستفشل دائماً. أي قسرية الفشل قد يقوم بإنشاء رسالة تحذير في وقت التحويل البرمجي، و العديد من إنتاج خطأ وقت التشغيل إذا فشل الإجبار. فعلى سبيل المثال:

العملية

النتيجة

إضافة رقم و سلسلة

الرقم هو فرض وضع الكائن في سلسلة.

قم بإضافة قيمة منطقية و سلسلة

القيمة المنطقية هو فرض وضع الكائن في سلسلة.

إضافة رقم و قيمة منطقية

القيمة المنطقية هو فرض وضع الكائن في رقم.

خذ بعين الاعتبار المثال التالي:

var x = 2000;      // A number.
var y = "Hello";   // A string.
x = x + y;         // the number is coerced into a string.
print(x);          // Outputs 2000Hello.

لتحويل سلسلة إلى عدد صحيح بوضوح، يمكنك استخدام parseIntأسلوب. ل المزيد من المعلومات، راجع parseInt أسلوب . لتحويل سلسلة إلى رقم بوضوح، يمكنك استخدم parseFloatالأسلوب. للحصول على مزيد من المعلومات، راجع parseFloat أسلوب . لاحظ أن سلاسل تلقائياً محول إلى الأرقام المماثلة لأغراض المقارنة ولكن يتم اليسار كما السلاسل لإضافة (السلسلة).

منذ JScript هو لغة مكتوب بشدة أيضا، mechanهوm الإجباري آخر هو المتوفرة. تقنية جديدة باستخدام اسم نوع الهدف كما لو كانت دالة تقبل التعبير إلى تحويل كوسيطة. يطبق هذا على الجميع الأنواع الأولية JScript، وأنواع المرجع JScript، و.NET Framework أنواع.

ل مثال، تحويل تعليمات برمجية التالية القيمة عدد صحيح إلى القيمة منطقية:

var i : int = 23;
var b : Boolean;
b = i;
b = Boolean(i);

نظراً لأن القيمة i قيمة غير ذلك غير الصفر، b هو صواب .

إليه قسرية جديدة تعمل أيضا مع العديد من معرّفة بواسطة مستخدم أنواع. ومع ذلك، بعض coercions إلى أو من الأنواع المعرفة من قبل مستخدم قد لا تعمل لأنه قد misinterpret JScript على هدف للمستخدم عند تحويل أنواع dissimilar. ويصح هذا الأمر خاصة عند نوع وهي المحولة من هو يتكون من عدة قيم. على سبيل المثال، تنشئ التعليمة البرمجية التالية فئتين (أنواع). متغير مفرد يتضمن أحد i التي هو على العدد الصحيح. غير ذلك يحتوي على ثلاث متغيرات ( s، f، و d)، كل من نوع مختلف. في العبارة الأخيرة، فإنه هو المستحيل JScript لتحديد كيفية تحويل متغير من النوع أول إلى النوع الثاني.

class myClass {
   var i : int = 42;
}
class yourClass {
   var s : String = "Hello";
   var f : float = 3.142;
   var d : Date = new Date();
}
// Define a variable of each user-defined type.
var mine : myClass = new myClass();
var yours : yourClass;

// This fails because there is no obvious way to convert
// from myClass to yourClass
yours = yourClass(mine);

راجع أيضًا:

المبادئ

نوع تحويل

قسرية بواسطة عوامل تشغيل المختصة بالبت

موارد أخرى

دالات JScript