جافا سكريبت
JScript هي لهجة مايكروسوفت القديمة [ 2 ] لمعيار ECMAScript [ 3 ] ، وتُستخدم في متصفح الإنترنت Internet Explorer وتطبيقات HTML ، بالإضافة إلى كونها لغة برمجة نصية مستقلة لنظام ويندوز. وهي برمجيات احتكارية .
تُنفَّذ لغة JScript كمحرك برمجة نصية نشطة . وهذا يعني إمكانية دمجها مع تطبيقات أتمتة OLE التي تدعم البرمجة النصية النشطة، مثل Internet Explorer و Active Server Pages و Windows Script Host . [ 4 ] كما يعني ذلك أيضًا إمكانية استخدام هذه التطبيقات لغات برمجة نصية نشطة متعددة، مثل JScript و VBScript و PerlScript .
تم دعم لغة JScript لأول مرة في متصفح Internet Explorer 3.0 الذي تم إصداره في أغسطس 1996. أحدث إصدار لها هو JScript 9.0، المضمن في Internet Explorer 9.
JScript 10.0 [ 5 ] هي لهجة منفصلة، تُعرف أيضًا باسم JScript .NET ، وتضيف العديد من الميزات الجديدة من الإصدار الرابع المهجور من معيار ECMAScript. يجب تجميعها لإطار عمل .NET الإصدار 2 أو الإصدار 4، ولكن التعليقات التوضيحية للأنواع الثابتة اختيارية.
تعرضت لغة جافا سكريبت لانتقادات بسبب عدم أمانها واحتوائها على العديد من الثغرات الأمنية التي "استغلتها جهات فاعلة تابعة لدول"، [ 6 ] مما دفع مايكروسوفت إلى إضافة خيار لتعطيلها. [ 7 ]
مقارنة بجافا سكريبت
كما أوضح دوغلاس كروكفورد في حديثه بعنوان "لغة برمجة جافا سكريبت" على مسرح YUI،
لم ترغب مايكروسوفت في الدخول في نزاع مع صن مايكروسيستمز بشأن قضية العلامة التجارية، ولذلك أطلقت على تطبيقها اسم JScript. يعتقد الكثيرون أن JScript وJavaScript لغتان مختلفتان ولكنهما متشابهتان. هذا غير صحيح. إنهما مجرد اسمين مختلفين للغة نفسها، وكان سبب اختلاف الاسمين هو تجنب مشاكل العلامة التجارية. [ 8 ]
مع ذلك، يدعم جافا سكريبت الترجمة الشرطية، التي تُمكّن المبرمج من تنفيذ التعليمات البرمجية بشكل انتقائي داخل التعليقات . يُعدّ هذا امتدادًا لمعيار ECMAScript غير مدعوم في تطبيقات جافا سكريبت الأخرى، مما يجعل العبارة السابقة غير دقيقة تمامًا، على الرغم من أن الترجمة الشرطية لم تعد مدعومة في وضع المعايير في متصفح إنترنت إكسبلورر 11.
تُشير شبكة مطوري مايكروسوفت (MSDN) إلى اختلافات أخرى في التنفيذ الداخلي بين JavaScript وJScript. [ 9 ] القيمة الافتراضية لنوع عنصر script في Internet Explorer هي JavaScript، بينما كان JScript هو الاسم البديل له. [ 10 ] في تحول واضح من JScript إلى JavaScript، يُشير دليل مطوري Microsoft Edge [القديم] على الإنترنت إلى مكتبة Mozilla MDN المرجعية على الويب باعتبارها الوثائق الرسمية. [ 11 ] اعتبارًا من أكتوبر 2017، يتم إعادة توجيه صفحات Microsoft MSDN الخاصة بالبرمجة النصية في Internet Explorer إلى هناك أيضًا. [ 12 ] قد لا تتضمن هذه المعلومات كائنات JScript المحددة، مثل Enumerator، المدرجة في مرجع لغة JavaScript على Microsoft Docs. [ 13 ] توفر هذه الكائنات ميزات إضافية غير مضمنة في معايير ECMA، سواء كانت مدعومة في متصفح Edge [القديم] أو سابقه. [ 14 ]
الإصدارات
جافا سكريبت (كوم كلاسيك)
لغة JScript الأصلية هي محرك برمجة نصية نشطة . ومثل لغات البرمجة النصية النشطة الأخرى، فهي مبنية على منصة أتمتة COM/OLE وتوفر إمكانيات البرمجة النصية لتطبيقات الاستضافة.
هذا هو الإصدار المستخدم عند استضافة JScript داخل صفحة ويب يتم عرضها بواسطة Internet Explorer ، وفي تطبيق HTML قبل IE9 ، وكذلك في ASP الكلاسيكي ، وبرامج Windows Script Host النصية وبيئات التشغيل الآلي الأخرى .
يُشار أحيانًا إلى JScript باسم "JScript الكلاسيكي" أو "JScript للبرمجة النشطة" لتمييزه عن الإصدارات الأحدث القائمة على .NET .
تتوفر بعض إصدارات JScript لإصدارات متعددة من متصفح إنترنت إكسبلورر وأنظمة ويندوز. على سبيل المثال، تم طرح JScript 5.7 مع إنترنت إكسبلورر 7.0 ، وهو مثبت أيضًا مع إنترنت إكسبلورر 6.0 على نظام ويندوز إكس بي حزمة الخدمة 3 ، بينما تم طرح JScript 5.8 مع إنترنت إكسبلورر 8.0 ، وهو مثبت أيضًا مع إنترنت إكسبلورر 6.0 على نظام ويندوز موبايل 6.5 .
يُطلق على تطبيق مايكروسوفت لإصدار ECMAScript الخامس في نظام التشغيل Windows 8 Consumer Preview اسم JavaScript ، ويتضمن الإصدار التجريبي المقابل من Visual Studio 11 Express محرر JavaScript "جديدًا كليًا" وكامل الميزات مع تحسينات IntelliSense لبنية HTML5 و ECMAScript 5 ، وتعليقات "VSDOC" للتحميلات الزائدة المتعددة، وتكوين DOM مبسط ، ومطابقة الأقواس، ومخطط تفصيلي قابل للطي، و"الانتقال إلى التعريف". [ 15 ]
| إصدار | تاريخ | تم تقديمه مع [ 16 ] | استنادًا إلى [ ملاحظة 1 ] | إصدار مشابه من جافا سكريبت |
|---|---|---|---|---|
| 1.0 | أغسطس 1996 | إنترنت إكسبلورر 3.0 | جافا سكريبت نتسكيب | 1.0 |
| 2.0 | يناير 1997 | ويندوز IIS 3.0 | جافا سكريبت نتسكيب | 1.1 |
| 3.0 | أكتوبر 1997 | إنترنت إكسبلورر 4.0 | ECMA-262 الطبعة الأولى [ ملاحظة 2 ] | 1.3 |
| 4.0 | Visual Studio 6.0 (كجزء من Visual InterDev ) | ECMA-262 الطبعة الأولى | 1.3 | |
| 5.0 | مارس 1999 | إنترنت إكسبلورر 5.0 | ECMA-262 الطبعة الثانية | 1.4 |
| 5.1 | إنترنت إكسبلورر 5.01 | ECMA-262 الطبعة الثانية | 1.4 | |
| 5.5 | يوليو 2000 | إنترنت إكسبلورر 5.5 وويندوز سي إي 4.2 | ECMA-262 الطبعة الثالثة | 1.5 |
| 5.6 | أكتوبر 2001 | إنترنت إكسبلورر 6.0 وويندوز سي إي 5.0 | ECMA-262 الطبعة الثالثة | 1.5 |
| 5.7 | نوفمبر 2006 | إنترنت إكسبلورر 7.0 | ECMA-262 الإصدار الثالث [ 19 ] + ECMA-327 (ES-CP) [ ملاحظة 3 ] | 1.5 |
| 5.8 | مارس 2009 | إنترنت إكسبلورر 8.0 وإنترنت إكسبلورر موبايل 6.0 | ECMA-262 الإصدار الثالث + ECMA-327 (ES-CP) [ ملاحظة 3 ] + JSON (RFC 4627) | 1.5 |
| 11.0 | يونيو 2024 | ويندوز 11 الإصدار 24H2 | (JScript 9 Legacy، مصمم كبديل متوافق مع JScript 5.8، ولكنه ليس متوافقًا بنسبة 100% [ 20 ] ) | 1.5 |
تتوفر لغة جافا سكريبت أيضًا على نظام التشغيل ويندوز سي إي (مضمنة في ويندوز موبايل، واختيارية في ويندوز إمبيديد سي إي). ويفتقر إصدار ويندوز سي إي إلى ميزة التصحيح النشط.
جافا سكريبت المُدارة
تُعدّ Managed JScript تطبيقًا للغة JScript ضمن بيئة تشغيل اللغات الديناميكية (DLR )، وهي جزء من لغات مايكروسوفت الديناميكية لبيئة .NET، إلى جانب IronRuby و IronPython و Dynamic Visual Basic . وعلى عكس JScript .NET، الأقل ديناميكية من JScript الأصلية ولكنه يوفر توافقًا مع واجهة سطر الأوامر (CLI)، فإن Managed JScript مصممٌ بالاعتماد على بيئة تشغيل اللغات الديناميكية (DLR) ويوفر الميزات اللازمة لسيناريوهات البرمجة النصية.
على الرغم من أنه مصمم في الأساس للاستخدام داخل Silverlight و ASP.NET في الوقت الحالي، إلا أنه يمكن تضمينه بسهولة في أي تطبيق .NET. [ 21 ]
يوجد إصداران من Managed JScript: أحدهما لبيئة تشغيل اللغة العامة لسطح المكتب (CLR) والآخر لبيئة تشغيل Silverlight CoreCLR
| إصدار | تاريخ | تم تقديمه مع | مرتكز على | منصة |
|---|---|---|---|---|
| 1.0.0.0 | 2007 | مستقبل ASP.NET (معاينة يوليو 2007) | ECMA-262 الطبعة الثالثة | سطح المكتب CLR 2.0 |
| 1.1.20625.0 | 2007 | مايكروسوفت سيلفرلايت 1.1 ألفا (تحديث سبتمبر 2007) | ECMA-262 الطبعة الثالثة | CoreCLR 1.1 |
لا يدعم إطار عمل .NET Compact استخدام لغة JScript المُدارة .
(المصدر: إصدارات ملفات Microsoft.JScript.Runtime.dll في مجلدات ASP.NET Futures و Silverlight 1.1)
JScript "Chakra" (JsRT)
تعتمد مكتبة JScript "Chakra" على إصدار JScript (COM الكلاسيكي)، ولكنها أُعيد تصميمها لتحسين الأداء في متصفح Internet Explorer 9 [ 22 ] على حساب التوافق التام مع محرك Active Scripting. وتتطلب هذه المكتبة واجهة برمجة تطبيقات خاصة من Microsoft JavaScript Hosting (JsRT) للاستخدام الأمثل. لذا، يتم تثبيتها جنبًا إلى جنب مع JScript 5.x، ولا تُستخدم إلا من قِبل Internet Explorer 9 والإصدارات الأحدث، بالإضافة إلى مُضيفي JsRT، بينما تستمر مُضيفات Active Scripting الأخرى في استخدام الإصدار 5.x عند طلب محرك JScript.
| إصدار | تاريخ | تم تقديمه مع [ 23 ] | استنادًا إلى [ 24 ] | إصدار مشابه من جافا سكريبت |
|---|---|---|---|---|
| شاكرا 9.0 | مارس 2011 | إنترنت إكسبلورر 9.0 | ECMA-262 الطبعة الخامسة | 1.8.1 |
| شاكرا 10.0 | سبتمبر 2012 | إنترنت إكسبلورر 10.0 | ECMA-262 الطبعة الخامسة | |
| شاكرا 11.0 | أكتوبر 2013 | إنترنت إكسبلورر 11.0 | ECMA-262 الطبعة الخامسة | |
| حافة الشاكرا | يوليو 2015 | إيدج [قديم] / ويندوز 10 | ECMA-262 الإصدار الخامس إلى التاسع (2018) (يتم تحديثه باستمرار دون الحاجة إلى تغيير إصدار المحرك) |
يوجد إصداران من محرك Chakra JsRT. الإصدار الأصلي كان يُستخدم في متصفح Internet Explorer 9 والإصدارات الأحدث، ويُشار إليه أحيانًا باسم "jscript9.dll" أو "محرك Chakra القديم"، أما الإصدار الثاني فكان يُستخدم في متصفح Microsoft Edge القديم، ويُشار إليه أحيانًا باسم "محرك Chakra الجديد" أو "محرك Edge" أو "Chakra.dll". يمكن استخدام كلا الإصدارين من Chakra JsRT بواسطة تطبيقات أخرى تستخدم واجهة برمجة تطبيقات JsRT، ويمكن تثبيتهما جنبًا إلى جنب. [ 25 ]
يوجد أيضًا إصدار COM Classic من Chakra يُسمى داخليًا "JScript 9 Legacy" (مُقدم من jscript9Legacy.dll)، وقد تم تقديمه مع تحديث Windows 11 24H2، وهو يُعيد التوافق مع مُضيفي Active Scripting، ومُصمم ليكون بديلاً مُتوافقًا ومباشرًا لـ JScript 5.8. على الرغم من توافقه إلى حد كبير مع JScript 5.8 الأصلي، إلا أن هناك اختلافات جوهرية تُؤثر على توافقه. [ 26 ]
انظر الصفحة المنفصلة حول محرك تشاكرا (إيدج) الجديد .
JScript .NET (CLI)
JScript .NET هي تطبيق Microsoft .NET للغة JScript. وهي لغة سطر أوامر ، وبالتالي ترث ميزات قوية للغاية، لكنها تفتقر إلى العديد من ميزات لغة JScript الأصلية، مما يجعلها غير مناسبة للعديد من سيناريوهات البرمجة النصية. يمكن استخدام JScript .NET لصفحات ASP.NET ولتطبيقات .NET كاملة، ولكن عدم دعم هذه اللغة في Microsoft Visual Studio يجعلها أقرب إلى مسار ترقية لصفحات ASP الكلاسيكية باستخدام JScript الكلاسيكية منها إلى لغة جديدة من الدرجة الأولى.
| إصدار | منصة | تاريخ | تم تقديمه مع | مرتكز على |
|---|---|---|---|---|
| 7.0 | سطح المكتب CLR 1.0 | 2002-01-05 | إطار عمل .NET 1.0 | ECMA-262 الطبعة الثالثة [ ملاحظة 4 ] |
| 7.1 | سطح المكتب CLR 1.1 | 2003-04-01 | إطار عمل .NET 1.1 | ECMA-262 الطبعة الثالثة [ ملاحظة 4 ] |
| 8.0 | سطح المكتب CLR 2.0 | 2005-11-07 | إطار عمل .NET 2.0 | ECMA-262 الطبعة الثالثة [ ملاحظة 4 ] |
| 10.0 | سطح المكتب CLR 4.0 | 2010-08-03 | إطار عمل .NET 4.0 | ECMA-262 الطبعة الثالثة [ ملاحظة 4 ] |
لا يدعم إطار عمل .NET Compact Framework لغة JScript .NET .
إصدارات JScript .NET منفصلة تمامًا عن إصدارات JScript الكلاسيكية، وهي عبارة عن خط إنتاج مستقل. على الرغم من أن JScript .NET غير مدعوم ضمن بيئة تطوير Visual Studio، إلا أن إصداراته متوافقة مع إصدارات لغات .NET الأخرى ( C# و VB.NET و VC++ ) التي تتبع إصدارات Visual Studio المقابلة لها.
تم بناء .NET Framework 3.0 و 3.5 على الإصدار 2.0 ولا تتضمن إصدار JScript.NET الأحدث (الإصدار 10.0 لـ .NET Framework 4.0).
(المصدر: إصدار ملف jsc.exe الخاص بمترجم JScript.NET وMicrosoft.JScript.dll المثبت مع .NET Framework)
انظر أيضاً
ملحوظات
- ↑ يدعم JScript العديد من الميزات غير المحددة في معيار ECMA، [ 17 ] كما هو الحال مع JavaScript.
- ↑ صرحت مايكروسوفت بأن JScript 3.0 كانت "أول لغة برمجة نصية تتوافق تمامًا مع معيار ECMA-262". [ 18 ]
- 1 2 يتضمن JScript 5.7 تطبيقًا لملف تعريف ECMAScript المضغوط (ECMA-327) الذي يقوم بإيقاف تشغيل الميزات غير المطلوبة بواسطة ES-CP عند استخدام ProgID "JScript.Compact".
- 1 2 3 4 يتم تطوير JScript .NET "بالتزامن مع ECMAScript الإصدار 4". [ 27 ]
مراجع
- ↑ "أنواع ملفات البرامج النصية" . Msdn.microsoft.com. 24 أكتوبر 2011. تم الاطلاع عليه بتاريخ 17 أغسطس 2012 .
- ↑ "تعطيل محرك البرمجة النصية القديم JScript في متصفح إنترنت إكسبلورر" . Techcommunity Microsoft.com . 13 أكتوبر 2020. تاريخ الاسترجاع: 15 نوفمبر 2021 .
- ↑ "JScript (ECMAScript3)" . Msdn.microsoft.com. 24 أكتوبر 2011. تم الاطلاع عليه بتاريخ 17 أغسطس 2012 .
- ↑ "ما هو WSH؟" . Msdn.microsoft.com. 24 أكتوبر 2011. تم الاطلاع عليه بتاريخ 17 أغسطس 2012 .
- ↑ ما هو JScript 10.0؟
- ↑ سيمبانو، كاتالين. "مايكروسوفت تضيف خيارًا لتعطيل جافا سكريبت في إنترنت إكسبلورر" . زد نت . تم الاسترجاع في 15 نوفمبر 2021 .
- ↑ "خيار تعطيل تنفيذ جافا سكريبت في إنترنت إكسبلورر" . support.microsoft.com . تم الاطلاع عليه بتاريخ 15 نوفمبر 2021 .
- ↑ دوغلاس كروكفورد، لغة برمجة جافا سكريبت
- ↑ "عالم جافا سكريبت، وجافا سكريبت، وإي سي إم إيه سكريبت" . Blogs.msdn.microsoft.com. 15 أغسطس 2007. تاريخ الاسترجاع: 21 أكتوبر 2017 .
- ↑ "عنصر البرنامج النصي" . Msdn.microsoft.com . تم الاطلاع عليه بتاريخ 16-10-2017 .
- ↑ "دليل مطوري Microsoft Edge" . Docs.microsoft.com . تم الاطلاع عليه بتاريخ 18-10-2017 .
- ↑ "توثيق الويب معًا" . Blogs.windows.com. ١٨ أكتوبر ٢٠١٧. تم الاطلاع عليه بتاريخ ١٨-١٠-٢٠١٧ .
- ↑ "مرجع لغة جافا سكريبت (مستندات مايكروسوفت)" . Docs.microsoft.com . تم الاطلاع عليه بتاريخ 18-10-2017 .
- ↑ "كائنات جافا سكريبت (مستندات مايكروسوفت)" . Docs.microsoft.com . تم الاطلاع عليه بتاريخ 18-10-2017 .
- ↑ "ما الجديد في ASP.NET 4.5 و Visual Web Developer 11 Beta: الموقع الرسمي لـ Microsoft ASP.NET" . 13 مايو 2022."ما الجديد في ASP.NET 4.5 وتطوير الويب في Visual Studio 11 Beta" . 12 مايو 2015.
- ↑ معلومات الإصدار (برمجة ويندوز - جافا سكريبت) ، مايكروسوفت ، تم الاطلاع عليها بتاريخ 31 مايو 2010
- ↑ ميزات مايكروسوفت جافا سكريبت - غير متوافقة مع معايير ECMA (برمجة ويندوز - جافا سكريبت) ، مايكروسوفت ، تم الاطلاع عليه بتاريخ 31 مايو 2010
- ↑ مايكروسوفت تتبنى معيار ECMA للبرمجة النصية للإنترنت؛ وتقدم أول لغة برمجة نصية متوافقة مع معيار ECMA في الصناعة، JScript 3.0، في منتجات مايكروسوفت الرئيسية ، مايكروسوفت، 30 يونيو 1997، مؤرشف من الأصل في 12 يناير 2009
- ↑ لاكشمان، براتاب. "انحرافات جافا سكريبت عن ES3" (ملف PDF) . ذا ريجستر . سيتويشن بابليشينغ / مايكروسوفت . تم الاطلاع عليه بتاريخ 9 فبراير 2020 .
- ↑ "هل يستخدم Windows 11 22H2 طريقة مختلفة لاستخدام محرك JS؟ - أسئلة وأجوبة مايكروسوفت" .
- ↑ (المصدر: مدونة JScript ، مدونة جيم هوغونين Thinking Dynamic ، المصدر: مدونة جيتو )
- ↑ نيوجي، شانكو (18 مارس 2010). "محرك جافا سكريبت الجديد في إنترنت إكسبلورر 9" . مدونة إنترنت إكسبلورر (الأرشيف) . مايكروسوفت . تم الاطلاع عليه بتاريخ 19 فبراير 2020 .
- ↑ معلومات الإصدار (برمجة ويندوز - جافا سكريبت) ، مايكروسوفت ، تم الاطلاع عليها بتاريخ 31 مايو 2010
- ↑ "وثائق دعم معايير إنترنت إكسبلورر" . المواصفات المفتوحة (وثائق مايكروسوفت) . مايكروسوفت . تم الاطلاع بتاريخ 19 فبراير 2020 .
- ↑ "استهداف متصفح مايكروسوفت إيدج مقابل محركات المتصفحات القديمة في واجهات برمجة تطبيقات JSRT" . وثائق مايكروسوفت إيدج (وثائق مايكروسوفت) . مايكروسوفت . تم الاطلاع بتاريخ 19 فبراير 2020 .
- ↑ "هل يستخدم Windows 11 22H2 طريقة مختلفة لاستخدام محرك JS؟ - أسئلة وأجوبة مايكروسوفت" .
- ↑ ما هو JScript .NET؟، مايكروسوفت
روابط خارجية
- إنترنت إكسبلورر
- محركات لغة جافا سكريبت
- عائلة لغات البرمجة جافا سكريبت
- لغات برمجة مايكروسوفت
- لغات البرمجة القائمة على الكائنات
- لغات البرمجة القائمة على النماذج الأولية
- لغات البرمجة النصية
