جاوا اسکریپت چیست؟
جاوا اسکریپت زبان برنامه نویسی می باشد که درون کدهای HTML قرار می گیرد و بر روی مرورگر بازدید کننده اجرا می شود. جاوا اسکریپت توانایی تغییر در محتویات المانهای نمایش داده شده را بر روی مرورگر فرد بازدید کننده دارد بطوریکه امکان پویا سازی یا دینامیک شدن صفحات بوجود می آید و یا به صورت خلاصه به صفحات وب رفتار می بخشد.
جایی که HTML و CSS ساختار اولیه و ظاهر صفحات وب را تعیین میکنند، جاوا اسکریپت نحوه عملکرد صفحات وب را کنترل میکند.
این زبان برنامهنویسی توسط اکثر مرورگرها از قبیل گوگل کروم، فایرفاکس، سافاری، اینترنت اکسپلورر، Edge و اُپرا پشتیبانی میشود. همچنین اکثر مرورگرهایی که برای اسمارتفونها وجود دارند نیز از این زبان پشتیبانی میکنند.
تاریخچه جاوا اسکریپت
محققان موسسه نت اسکیپ متوجه شدند که اضافه کردن یک زبان برنامه نویسی که قابلیت نوشتن کد را نیز داشته باشد، میتواند باعث افزایش ادراک کاربر شود. آنها تصمیم گرفتند که یک زبان برنامهنویسی که نگارش آن شبیه به زبان Java باشد، ایجاد کنند. نتیجه این تحقیقات، ایجاد زبان برنامهنویسی جاوا اسکریپت توسط شخصی به نام برندن آیک (Brendan Eich) بود. اولین نسخه از این زبان برنامهنویسی که در ماه مه سال ۱۹۹۵ عرضه شد، Mocha نام گرفت. سپس در سپتامبر همان سال به LiveScript تغییر نام داد. سرانجام در دسامبر سال ۱۹۹۵ نام JavaScript برای این زبان برنامهنویسی انتخاب شد.
این زبان در سال ۱۹۹۶ به سازمان جهانی ECMA ارسال شد تا بهصورت استاندارد شده درآید. اولین نسخه استاندارد شده این زبان برنامهنویسی در ژوئن ۱۹۹۷ و با استاندارد ECMA-262 عرضه شد. آخرین نسخه جاوا اسکریپت نیز ماه ژوئن سال ۲۰۱۶ میلادی، عرضه شد.
قابلیت ها
جاوا اسکریپت یک زبان برنامه نویسی تکامل یافته است که در مرورگر وب شما قرار گرفته و تمامی قابلیتهای یک زبان برنامه نویسی معمولی را دارد. این ویژگیها عبارتند از:
- تعریف متغیرها
- ذخیره و بازیابی مقادیر
- تعریف و فراخوانی توابع
- تعریف کلاسها
- بارگذاری و استفاده از ماژولهای خارجی
- تعریف و نوشتن پردازنده رویداد که به کاربر و سایر موارد پاسخ میدهد
قطعا این زبان برنامه نویسی قابلیتهای بسیار زیادی دارد که فقط چند مورد از آنها در بالا ذکر شد.
کاربردها
این زبان در درجه اول برای افزایش قابلیت کاربر پسند بودن وبسایتها استفاده میشود. آپدیت شدن صفحات وب بهصورت پویا، بهبود رابط کاربری که خود شامل منوها، کادرهای محاورهای، تصاویر متحرک و انیمیشنها، تصاویر گرافیکی دو و سه بعدی، نقشهها، پخش کنندههای فایلهای ویدیویی و بسیاری موارد دیگر میشود، از جمله ویژگیهایی است که در این زبان برنامهنویسی گنجانده شدهاند.
جاوا اسکریپت عمدتا برای برنامههای مبتنی بر وب و مرورگرهای وب مورد استفاده قرار میگیرد. اما جاوا اسکریپت نیز فراتر از وب در نرم افزار، سرورها و کنترلهای سخت افزاری استفاده میشود. در ادامه برخی از مواردی که جاوا اسکریپت در آنها پرکاربرد هستند را نام میبریم:
اضافه کردن رفتار تعاملی به صفحات وب
جاوا اسکریپت به کاربران اجازه میدهد تا با صفحات وب ارتباط برقرار کنند. تقریبا هیچ محدودیتی برای چیزهایی که میتوانید با آن در یک صفحه وب انجام دهید وجود ندارد. در ادامه به چندی از این قابلیتها میپردازیم.
- نمایش یا پنهان کردن اطلاعات بیشتر با کلیک یک دکمه
- تغییر رنگ یک دکمه زمانی که ماوس روی آن قرار میگیرد
- نمایش اسلاید تصاویر در صفحه اصلی وب
- زوم کردن بر روی یک عکس
- نمایش تایمر یا شمارش معکوس در وب سایت
- پخش فایل صوتی و تصویری در یک صفحه وب
- نمایش انیمیشنها
ایجاد برنامههای وب و موبایل
توسعه دهندگان میتوانند از فریمورکهای مختلف جاوا اسکریپت برای توسعه و ساخت برنامههای وب و موبایل استفاده کنند. فریمورکهای این برنامه مجموعهای از کتابخانههای جاوا اسکریپت هستند که قابلیت نوشتن کد از قبل را به توسعه دهندگان برای استفاده از ویژگیهای برنامهنویسی روزمره ارائه میدهند:
به معنای واقعی کلمه یک فریمورک برای ساخت وب سایتها یا برنامههای کاربردی وب.
فریمورکهای محبوب جاوا اسکریپت React، Angular و Vue میباشند. بسیاری از شرکتها از Node.js که یک محیط runtime جاوا اسکریپت برروی موتور V8 گوگل کروم میباشد استفاده میکنند. چند نمونه از مثالهای مشهور آن: PayPal، LinkedIn، Netflix و Uber میباشد.
ساخت وب سرورها و توسعه برنامههای کاربردی سرور
فراتر از وبسایتها و برنامههای کاربردی، توسعه دهندگان همچنین میتوانند از جاوا اسکریپت برای ساخت وب سرورهای ساده و توسعه زیرساختهای back-end توسط Node.js استفاده کنند.
توسعه بازی
شما همچنین میتوانید برای ایجاد بازیهای مرورگر از آن استفاده کنید. اینها یک راه عالی برای تمرین مهارتهای برنامهنویسان مبتدی میباشد.
توانایی ها
توانایی های جاوا اسکریپت بسیار متنوع بوده و تنها به موارد که در زیر می آید خلاصه نمی شود. در زیر لیستی از قابلیت های این اسکریپت آورده شده است:
- امکان تغییر در متون نمایش داده شده در مرورگر
- امکان تغییر رنگها، رنگ پس زمینه و موقعیت قرار گیری المانهای استفاده شده درطراحی وب سایت
- تغییر در مشخصه های المانها و CSS آنها
- متحرک سازی، انیمیشن و پویا نمایی
- تعامل با کاربر و از طریق المانهای ورودی نظیر Textbox ها، RadioButton ها، TextArea و غیره
- عکس العمل نشان دادن به واکنش های کاربران نظیر تغییر عکسها با حرکت موس روی آنها
- نمایش اخطار و یا پیام به کاربران
- انجام محاسبات ریاضی
- ساخت و تولید کد HTML بصورت پویا و برحسب شرایط مورد نیاز
- منوهای جالب همراه با انیمیشن
- جمع آوری اطلاعات کاربران از سایت و آمارگیری
مزایا
در زیر لیستی از مزایای استفاده از جاوا اسکریپت آورده شده است. لازم به ذکر است که مزایا این زبان برنامه نویسی تنها به این موارد ختم نمی شود:
- دادن پویایی به صفحات استاتیک وب سایت ها
- برخی از عملیات را نمی توان بدون استفاده از این زبان برنامه نویسیانجام داد. نظیر تعامل با کاربر، یافتن اطلاعات کاربری بازدید کنندگان نظیر IP های آنها و موارد دیگر
- نزدیک بودن این زبان برنامه نویسیبه زبانها برنامه نویسی دیگر نظیر C, C++ و یا C#
- امکان استفاده از کتابخانه های آماده این زبان برنامه نویسینظیر کتابخانه های استاندارد ریاضی
- سادگی در برنامه نویسیو پیاده سازی بدون درگیر شدن با کامپایلرهای پیچیده.
معایب
از جمله معایب جاوا اسکریپت می توان موارد برتر زیر را بر شمرد:
- کند بودن در زمان اجرا بدلیل عدم کامپایل شدن کدها.
- دیباگ کردن آن بسیار مشکل است.
- چنانچه خطایی در اجرای برنامه رخ دهد، در برخی از موارد بدون دادن پیامی یا ارائه هیچگونه راهنمایی، از برنامه خارج می شود.
- در همه مرورگرها قابل اجرا نمی باشد (در مرورگرهای قدیمی) و نیز برخی کاربران، برای سو استفاده سایت ها، امکان اجرای اینگونه اسکریپت ها را بر روی مرورگر خود لغو می کنند.
- بر روی مرورگر اجرا می شود در نتیجه هیچگونه امکانی برای مبادله با سرور سایت را ندارد.
جاوا اسکریپت در مقایسه با سایر زبانهای برنامهنویسی
به غیر از امکانات نامحدود، دلایل زیادی برای توسعه دهندگان وب برای استفاده از جاوا اسکریپت در مقایسه با سایر زبانهای برنامهنویسی وجود دارد:
- تنها زبان برنامهنویسی بومی برای مرورگر وب است
- محبوبترین زبان است
- پایین بودن threshold برای شروع
- یک زبان سرگرم کننده برای یادگیری
نکته ای که در پایان بار دیگر می خواهیم متذکر شویم این است که جاوا اسکریپت برنامه ای است که روی کامپیوتر کلاینت یا همان مرورگر اجاره می شود