JavaScript که به اختصار JS نیز نامیده میشود، یکی از محبوبترین زبانهای برنامه نویسی است. جاوا اسکریپت زبانی سطح بالا، داینامیک، شیگرا و تفسیری است که از شیوههای مختلف برنامه نویسی پشتیبانی میکند. از این زبان میتوان برای برنامه نویسی سمت سرور (Server Side)، اپلیکیشنهای موبایل، بازی و اپلیکیشنهای دسکتاپ استفاده کرد. بنابراین میتوان اینگونه برداشت کرد که زبان برنامه نویسی جاوا اسکریپت ، یک زبان همه فن حریف است.
همانطور که میدانید کامپیوترها تنها به زبان صفر و یک (Binary) صحبت میکنند و زبان دیگری را متوجه نمیشوند. ما در ابتدا برای برقراری ارتباط با ماشینها سعی کردیم به زبان خود آنها، یعنی زبانی که به زبان صفر و یک نزدیکتر است، صحبت کنیم. به این نوع زبانها که به صورت مستقیم با پردازنده در ارتباطاند، در اصطلاح، زبانهای سطح پایین (Low Level) گفته میشود. از جمله این زبانها میتوان به اسمبلی اشاره کرد.
اما یادگیری و تسلط به این زبانها برای برنامه نویسان فوق العاده سخت بود. بنابراین متخصصین تصمیم به ساخت زبانهایی گرفتند که به زبان انسانها نزدیکتر باشد. در اصطلاح به این زبانها، زبانهای سطح بالا (High Level) میگویند. زبانهای سطح بالایی مانند JavaScript کار را برای برنامهنویسان سادهتر کردند، زیرا ساختار نوشتاری و منطق آنها بسیار به زبان انسانها نزدیکتر شده است. پس میتوان اینگونه نتیجه گرفت که آموزش جاوا اسکریپت نسبت به سایر زبانهای برنامه نویسی سطح پایین سادهتر است.
همانطور که دیدید در تعریف زبان برنامه نویسی جاوا اسکریپت به این نکته اشاره شد که این زبان از نوع زبانهای مفسری است. برای درک ماهیت زبانهای برنامه نویسی مفسری ابتدا فکر کنید که شما یک مترجم هستید. برای ترجمه یک متن، دو راه بیشتر ندارید. یا باید آنچه را دریافت میکنید به صورت خط به خط و همزمان ترجمه کنید، یا کل مطلب را یک جا ترجمه کنید. این دقیقا همان تفاوت میان زبانهای مفسری (Interpreter) و زبانهای کامپایلری (Compiled) است.
جاوا اسکریپت چگونه کار میکند؟
حال که دیدیم جاوا اسکریپت چیست، شاید این سوال برای شما پیش آمده باشد که جاوا اسکریپت چگونه در مرورگرهای مختلف اجرا میشود؟ جواب این سوال موتورهای پردازشی (Engine) هستند. مرورگرهای مختلف برای اجرای کدهای جاوااسکریپت از موتورهای مختلفی استفاده میکنند که در ادامه به برخی از آنها اشاره میکنیم.
موتور V8 برای مرورگرهای اپرا و کروم
موتور SpiderMonkey برای فایرفاکس
موتورهای Trident و Chakra برای ورژنهای مختلف اینترنت اکسپلورر
موتور ChakraCore برای مرورگر Edge
موتورهای Nitro و SquirrelFish برای مرورگر سافاری
این موتورها در ابتدا کدهای جاوا اسکریپت را ترجمه میکنند. سپس اسکریپتها را به زبان ماشین کامپایل میکنند تا در نهایت کدها اجرا شوند. البته این موضوع به این معنی نیست که زبان جاوا اسکریپت تنها بر روی مرورگرهای وب اجرا میشود. این زبان برنامه نویسی تقریبا بر روی تمام پلتفرمها با استفاده از JavaScript Virtual Machine قابل اجرا است.
در نهایت اگر تصمیم به یادگیری و آموزش جاوااسکریپت گرفته اید به شما تبریک میگوییم. چرا که جاوا اسکریپت در واقع تنها یک زبان برنامه نویسی سمت کاربر (Client Side) نیست. پیش بینیها نشان میدهند در آینده ای نه چندان دور همه چیز به سمت بستر وب تعاملی خواهد رفت و این یعنی ما بیش از پیش به زبانی مانند جاوا اسکریپت نیاز خواهیم داشت که بتواند پاسخگوی تمام خواستههای ما باشد.