جافا سكريبت ليست هي نفسها!

جافا سكريبت ليست هي نفسها!
غالباً ما يوصف جافا سكريبت بأنه "لغة واحدة تعمل في كل مكان".
مع أن هذا صحيح من الناحية الفنية، إلا أنه مضلل للغاية أيضاً.
والحقيقة هي كالتالي:
يتصرف جافا سكريبت بشكل مختلف تمامًا اعتمادًا على البيئة التي يعمل فيها.
نفس التركيب. نفس اللغة. قواعد مختلفة تماماً.
إذا سبق لك أن شعرت بالحيرة من الكود الذي يعمل في المتصفح ولكنه يتعطل في Node.js - أو العكس - فهذه المقالة موجهة إليك.
⸻
لغة واحدة، بيئات متعددة
يتم تعريف لغة جافا سكريبت نفسها بواسطة مواصفات ECMAScript.
تحدد هذه المواصفات أشياء مثل:
• المتغيرات (let، const)
• الوظائف
• وعود
• الصفوف الدراسية
• تدفق التحكم
لكن لغة ECMAScript لا تُعرّف ما يلي:
• دوم
• الوصول إلى نظام الملفات
• واجهات برمجة تطبيقات الشبكات
• سلوك المؤقتات بالتفصيل
• الكائنات العامة مثل النافذة أو العملية
تأتي هذه البيانات من بيئة التشغيل، وليس من جافا سكريبت نفسها.
⸻
جافا سكريبت في المتصفح
عندما يتم تشغيل جافا سكريبت في متصفح، فإنها تعمل داخل بيئة تشغيل ويب مصممة لواجهة المستخدم وتفاعل المستخدم.
الخصائص الرئيسية
- لديه إمكانية الوصول إلى DOM
- يعمل في بيئة معزولة
- التركيز على الأمن
- يتم تشغيلها بواسطة أحداث ناتجة عن إجراءات المستخدم
المتغيرات العامة الخاصة بالمتصفح
1window2document3navigator4location5fetch6localStorage
ما الذي يجيده جافا سكريبت في المتصفح؟
- معالجة HTML و CSS
- معالجة مدخلات المستخدم
- عرض واجهة المستخدم
- التحقق من جانب العميل
- إجراء طلبات HTTP
ما لا يستطيع فعله
- الوصول إلى نظام الملفات بحرية
- فتح منافذ الشبكة الخام
- قم بتشغيل المهام الطويلة التي تستهلك موارد المعالج بشكل كبير بأمان
1document.querySelector("button").addEventListener("click", () => {2 alert("Hello from the browser!");3});

بواسطة
Ammar Yaser
Founder & CEO