قسرية بواسطة عوامل تشغيل المختصة بالبت
المختصة بالبت عوامل تشغيل في هذا الإصدار من JScript متوافقة تماما مع المختصة بالبت عوامل تشغيل في الإصدارات السابقة ل JScript. بالإضافة إلى ذلك، يمكن أيضا استخدام عوامل تشغيل JScript تشغيل أنواع بيانات رقمية جديدة. يعتمد سلوك عوامل تشغيل bitwهوe على تمثيل ثنائي للبيانات، لذا فإنه هو يجب فهم كيفية فرض عوامل تشغيل لأنواع بيانات.
يمكن تمرير ثلاثة أنواع من الوسيطات إلى العوامل المختصة بالبت: حدود مبكر المتغيرات، متغيرات منضم المتأخرة، و بيانات قيمة حرفية. مبكرا-حدود متغيرات البيئة متغيرات معرفة بتعليق توضيحي نوع صريح. وقت متأخر-حدود متغيرات البيئة متغيرات من نوع Objectالتي تحتوي على بيانات رقمية.
أحادي المعامل AND (&)، أو (|) و XOR (^) عوامل تشغيل
إذا كان أي معامل هو المتأخر منضم أو إذا كان كل من المعاملات يتم القيم الحرفية، ثم كل من المعاملات يتم فرض وضع الكائن إلى int(النظام.Int32) ، تشغيل هو تنفيذها، وإرجاع القيمة هو int.
إذا كان كل من المعاملات المنضم المبكر أو إذا كان معامل واحد هو القيمة حرفية والآخر هو المبكر المرتبطة، يتم القيام بالمزيد من الخطوات. كلاهما المعاملات يتم فرض وضع الكائن إلى نوع يفرضها شرطين:
إذا كان أي منهما مُعامل هو فرض وضع المتكاملة، كل من مُعاملات يتم الكائن int.
إذا كان معامل واحد هو تكاملاً، معامل nonintegral هو أما فرض وضع الكائن نوع تكامليا أو فرض وضع الكائن int، بغض النظر عن نوع هو أطول.
إذا كان معامل واحد أطول، ثم نوع لفرض وضع الذي مُعامل هو الكائن له نفس الطول كمعامل أطول.
إذا كان معامل أما غير موقع، ثم نوع لفرض وضع الذي مُعامل هو الكائن غير موقع. Otherwهوe ونوع فرض وضع الكائن هو موقعة.
فرض وضع المعاملات يتم ثم الكائن النوع المناسب، عملية bitwهوe هو تنفيذها، والنتيجة هو التي يتم إرجاعها. نوع بيانات الناتج هو نفس كـ نوع المعاملات coerced.
عند استخدام أحرف متكاملة مع عامل تشغيل أحادي المعامل ومتغير المنضم المبكر، الحرفي سوف يتم تفسيره على أنه أما int، طويلة ، ulong، أو مزدوج ، استناداً إلى أي هو نوع الأصغر يمكن أن يمثل الرقم. يتم فرض وضع الكائن قيمة حرفية بقيم العشرية إلى مزدوجة . قد يخضع نوع بيانات الحرفي إضافية قسرية وفقا للقواعد الموضحة أعلاه.
أحادي المعامل NOT (~) عامل التشغيل
إذا مُعامل المتأخر منضم، الفاصلة العائمة، أو القيمة قيمة حرفية، فإنه يتم فرض وضع الكائن إلى int(النظام.Int32) , تنفذ تشغيل NOT وقيمة الإرجاع هي int.
إذا كانت مُعامل نوع بيانات المتكاملة المنضم المبكر، تنفذ تشغيل NOT، ونوع الإرجاع هو نفسه كـ نوع مُعامل.
bitwise يسار Shift زر زر (<<)، Shift زر زر يمين (>>) عوامل تشغيل
إذا كان مُعامل الأيسر هو المتأخر منضم، الفاصلة العائمة، أو قيمة حرفية، فإنه هو فرض وضع الكائن int(النظام.Int32) . Otherwهوe، مُعامل الأيسر هو نوع بيانات المتكاملة المنضم المبكر لا الإجبار هو تنفيذه. معامل أيمن هو دائماً فرض وضع الكائن إلى نوع بيانات متكاملة. العملية إزاحة هو ثم تنفيذه تشغيل coerced إرجاع قيم والناتج له نفس النوع كالمعامل الأيسر (إذا المنضم المبكر) أو بكتابة int.
غير موقع Shift زر زر يمين (>>>) عوامل تشغيل
إذا كان مُعامل الأيسر هو المتأخر منضم، الفاصلة العائمة، أو قيمة حرفية، فإنه هو فرض وضع الكائن uint(النظام.UInt32) . Otherwهوe، مُعامل الأيسر هو نوع بيانات المتكاملة المنضم المبكر و هو فرض وضع الكائن على نوع غير موقعة من نفس الحجم. على سبيل المثال، intقد يكون فرض وضع الكائن إلى uint. معامل أيمن هو دائماً فرض وضع الكائن إلى نوع بيانات متكاملة. العملية shift هو ومن ثم تنفيذها تشغيل القيم coerced, والنتائج التي تم إرجاعها نفس النوع كمُعامل الأيسر coerced (إذا المنضم المبكر) أو كما اكتب uint.
نتيجة للإزاحة اليمنى غير الموقعة هو دائماً صغيرة كافية ليتم تخزينها في موقع إصدارات نوع الإرجاع دون تجاوز السعة.