جاوا اسکریپت (JavaScript) زبان برنامهنویسی سطح بالاو پویا مبتنی بر شی است. از JS در کنار HTML و CSS، به عنوان یکی از سه هسته تشکیل دهنده صفحات وب، یاد میشود. البته استفااده از JS فقط به سمت کاربر (Front-end) خلاصه نمیشود و امروزه میتوان با فریمورکهایی مانند vue.js برنامه نویسی سمت سرور (Back-end) نیز انجام داد. پس میتوان جاوااسکریپت(JS) را یک زبان برنامهنویسی Both Side دانست.
بر خلاف تشابه اسمی دو زبان برنامه نویسی جاوا (Java) و جاوااسکریپت (JavaScript) و باور عدهای که هر دو را یک زبان قلمداد میکنند، این دو هیچ ارتباطی با یکدیگر، جز تشابه اسمی، ندارند. ساختار جاوااسکریپت شباهت زیادی به جاوا و C++ دارد. جاوااسکریپت زبان برنامهنویسی شیگرایی (Object-Oriented) و ساخت یافته (Structured) است. با این زبان می توان به محتوای داخل html دسترسی پیدا کرد.
جاوااسکریپت یکی از زبانهای اصلی برنامه نویسی مورد نیاز برای ورود به دنیای وب است. بهخصوص که امروزه جاوااسکریپت گسترش و پیشرفت بسیار زیادی داشته و با فریمورکهای قدرتمندی همچون انگولار، ریاکت، vue، Node و … دراکثر پروژهها مورد استفاده قرار میگیرد.
سال 1995 آقای براندن ایچ در کمپانی Netscape این زبان را در زمان کوتاه طبق شایعات تقریبا 10 روز نوشت.جاوا اسکریپت طراحی شده از تلفیق برترین ویژگی های زبان برنامه نویسی های ذیگر میباشد.
جاوا اسکریپت اول با نام Mocha معرفی شد که بعدها به LiveScript و در نهایت به جاوااسکریپت تغییر کرد . این تغییر نام همزان شد با پشتیبانی از جاوا در مرورگر وب Netscape Navigator. اولین نسخه جاوااسکریپت در دسامبر ۱۹۹۵ معرفی و عرضه شد. این نام گذاری باعث سردرگمی زیاد شد و موجب ربط دادن این دو (جاوا و جاوا اسکریپت) به یکدیگر شد.
به دلیل موفقیت عمده جاوااسکریپت در سمت کاربر برای صفحات وب، مایکروسافت یک نسخه سازگار از این زبان را ایجاد کرد و به علت مشکلات حقوقی آن را جی اسکریپت نامید. این زبان در نسخه ۳٫۰ از مرورگر اینترنت اکسپلورر و در اوت ۱۹۹۶ داده شد. تفاوتهای این دو زبان به حدی جزیی است که اغلب جی اسکریپت و جاوااسکریپت به جای هم به کار میروند. هرچند که مایکروسافت در اینجا چند ده دلیل برای تفاوت جی اسکریپت با استاندارد ECMA مطرح میکند.
از بین مشهورترین ابزارها و فریمورکهای توسعهیافته به زبان جاوااسکریپت میتوان به موارد زیر اشاره کرد:
ReactJS که بسیاری از سایتها و سرویسهای بزرگ بر پایهی این فریمورک توسعه داده شدهاند.
React Native محصول شرکت فیسبوک که به کمک آن با جاوااسکریپت میتوان برنامه موبایل نوشت.
فریم ورک AngularJs گوگل که آخرین نسخه آن angular 4 است و بسیاری از ابزارها و سرویسهای بزرگ بر پایهی آن توسعه داده شدهاند.
زبان اپن-سورس NodeJS که امکان برنامهنویسی با زبان جاوااسکریپت را در سمت سرور فراهم میکند.
نکته:
وانیلا جاوااسکریپت یا وانیلا جی اس (Vanilla JS) اصطلاحی است که به همان زبان جاوااسکریپت اطلاق میشود. در حقیقت، وانیلا جی اس هیچ فریمورک یا کتابخانه خاصی نیست. این اصطلاح بیشتر برای کسانی ساخته شدهاست که گمان میکنند برای استفاده از جاوااسکریپت، حتماً باید از کتابخانههای موجود یا فریمروک خاصی استفاده کنند.
نسخه های اولیه این اسکریپت، فقط برای استفاده داخلی بود. پس از اینکه نت اسکیپ آن را به عنوان یک استاندارد برای مرورگرهای وب به ECMA International ارائه کرد، جاوا اسکریپت پیشگام انتشار ECMAScript بود. این زبان برنامه نویسی همه منظوره برای اطمینان از قابلیت تعامل صفحات وب در مرورگرها و دستگاههای مختلف بود.
جاوااسکریپت از آن زمان در کنار مرورگرهای جدید مانند موزیلا فایرفاکس و گوگل کروم به رشد خود ادامه داد و حتی شروع به توسعه اولین موتور Java Script مدرن به نام V8 کرد که bytecode را در کد ماشین بومی کامپایل می کرد.
Java Script در ابتدا در سمت کلاینت اجرا می شد، پس از توسعه Node.js به سمت سرور نیز انشعاب یافت.
جاوا اسکریپت دارای مزیتهایی است که آن را تبدیل به انتخاب بهتری نسبت به رقبای خود میکند. چند مزیت استفاده از Java Script به شرح زیر است: