جافا سكريبت و JScript: ما الفرق؟

قامت Netscape بتطوير الإصدار الأصلي من JavaScript للنسخة الثانية من متصفحها الشهير. في البداية ، كان Netscape 2 هو المتصفح الوحيد الذي يدعم لغة البرمجة النصية وكانت هذه اللغة تسمى LiveScript في الأصل. سرعان ما أعيدت تسميته JavaScript كان هذا في محاولة للاستفادة من بعض الدعاية أن جافا الشمس لغة برمجة كان يحصل في ذلك الوقت.

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

كانت Microsoft تحاول الاستحواذ على حصتها في السوق من Netscape في الوقت الذي أنشأت فيه Netscape JavaScript وهكذا مع Internet Explorer 3 قدمت Microsoft لغتين برمجة نصية. واحدة من هذه تستند إلى أساس بصري وأعطيت اسم VBscript. والثاني كان يشبه جافا سكريبت والذي دعته مايكروسوفت JScript.

من أجل محاولة التفوق على Netscape ، كان لدى JScript عددًا من الأوامر والميزات الإضافية المتاحة التي لم تكن في JavaScript. يحتوي JScript أيضًا على واجهات لوظيفة Microsoft ActiveX أيضًا.

instagram viewer

نظرًا لأن Netscape 1 و Internet Explorer 2 والمتصفحات المبكرة الأخرى لم يفهموا جافا سكريبت أو JScript أصبح الأمر كذلك ممارسة شائعة لوضع كل محتوى النص البرمجي داخل تعليق HTML لإخفاء النص البرمجي عن الأقدم المتصفحات. تم تصميم المتصفحات الجديدة حتى إذا لم تتمكن من التعامل مع النصوص البرمجية للتعرف على علامات البرامج النصية نفسها وبالتالي فإن إخفاء النص من خلال وضعه في تعليق لم يكن مطلوبًا لأي متصفحات تم إصدارها بعد IE3.

لسوء الحظ في الوقت الذي توقف فيه استخدام المتصفحات المبكرة للغاية ، كان الناس قد نسوا السبب لتعليق HTML ومازال الكثير من الأشخاص الجدد على JavaScript يشتملون على هذه العلامات غير الضرورية تمامًا. في الواقع ، يمكن أن يتسبب تضمين تعليق HTML في حدوث مشكلات مع المتصفحات الحديثة. إذا كنت تستخدم XHTML بدلاً من HTML ، بما في ذلك الكود الموجود في تعليق مثل هذا ، فسيكون لذلك تأثير في جعل النص البرمجي تعليقًا بدلاً من نص برمجي. العديد من أنظمة إدارة المحتوى الحديثة (CMS) ستفعل الشيء نفسه.

بمرور الوقت ، تم توسيع كل من JavaScript و JScript لتقديم أوامر جديدة لتحسين قدرتهم على التفاعل مع صفحات الويب. أضافت كلتا اللغتين ميزات جديدة تعمل بشكل مختلف عن الميزة المقابلة (إن وجدت) في اللغة الأخرى.

كانت طريقة عمل اللغتين متشابهة بما فيه الكفاية بحيث كان من الممكن استخدام استشعار المتصفح لمعرفة ما إذا كان المتصفح Netscape أو IE. يمكن بعد ذلك تشغيل الكود المناسب لهذا المتصفح. مع تحول التوازن نحو IE الحصول على حصة متساوية من سوق المتصفح مع Netscape ، كان هذا التعارض بحاجة إلى حل.

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

قبل اكتمال معيار DOM ، أصدرت كل من Netscape و Microsoft إصداراتهما الخاصة. يأتي Netscape 4 مزودًا بمستند خاص به. طبقة DOM و Internet Explorer 4 مزودان بمستند خاص به. كلا النموذجين من كائنات المستندات هذه أصبح قديمًا عندما توقف الأشخاص عن استخدام أي من هذه المتصفحات لأن جميع المتصفحات منذ ذلك الحين قامت بتطبيق DOM القياسي.

إزالة ECMAscript وإدخال DOM القياسي في جميع الإصدار الخامس والمتصفحات الأحدث معظم حالات عدم التوافق بين Javascript و JScript. في حين أن هاتين اللغتين لا تزال بينهما اختلافات ، فمن الممكن الآن كتابة التعليمات البرمجية التي يمكن تشغيلها على حد سواء JScript في Internet Explorer وكجافا سكريبت في جميع المتصفحات الحديثة الأخرى مع القليل جدًا من ميزة الاستشعار بحاجة. قد يختلف دعم ميزات معينة بين المتصفحات ، ولكن يمكننا اختبار هذه الاختلافات من خلال الاستفادة من ميزة مضمنة باللغتين منذ البداية تسمح لنا باختبار ما إذا كان المتصفح يدعم لغة معينة خاصية. من خلال اختبار الميزات المحددة التي لا تدعمها جميع المتصفحات ، سنتمكن من تحديد الرمز المناسب للتشغيل في المتصفح الحالي.

أكبر اختلاف الآن بين JavaScript و JScript هي جميع الأوامر الإضافية التي تدعمها JScript والتي تسمح بالوصول إلى ActiveX والكمبيوتر المحلي. هذه الأوامر مخصصة استخدامها على مواقع الإنترانت حيث تعرف تكوين كافة أجهزة الكمبيوتر وأنها تعمل جميعها على Internet Explorer.

لا تزال هناك مناطق قليلة متبقية حيث تختلف JavaScript و JScript في الوسائل التي توفرها لأداء مهمة معينة. باستثناء هذه المواقف ، يمكن اعتبار اللغتين متكافئتين وهكذا ما لم يتم تحديد خلاف ذلك ، فإن جميع مراجع جافا سكريبت التي تراها ستشمل أيضًا JScript.