جاوا اسکریپت (javascript) چیست؟

جاوااسکریپت

جاوا اسکریپت زبان برنامه‌نویسی پویا و مبتنی بر شی (Object-based) است که هم سمت کاربر و هم سمت سرور، برای ایجاد تعمال با صفحات وب به کار می‌رود. جایی که HTML و CSS ساختار اولیه و ظاهر صفحات وب را تعیین می‌کنند، جاوا اسکریپت نحوه عملکرد صفحات وب را کنترل می‌کند.

جاوا اسکریپت، تجربه کاربر را از صفحه وب با تبدیل آن از یک صفحه استاتیک به یک صفحه تعاملی بهبود می‌بخشد. بطور خلاصه، جاوا اسکریپت به صفحات وب رفتار می‌بخشد.

زبان برنامه نویسی جاوا اسکریپت، زبان مفسری

به صورت کلی دو نوع زبان برنامه نویسی داریم:

  • زبان های برنامه نویسی کامپایلری (Compiler)
  • زبان های برنامه نویسی مفسری (Interpreter)

ارتباط برقرار کردن با ماشین و کامپیوتر ها کار پیچیده ای هست، بخاطر همین زبان هایی که کدهای قابل فهم دارن درست شدن که بهشون زبان های برنامه نویسی سطح بالا گفته میشه، مثل همین جاوا اسکریپت!

حالا کامپیوتر هم لازمه که این دستورها رو متوجه شه درسته؟ برای این کار یه ابزار لازمه که اسمش “کامپایلر” یا “مفسر” هست.

نکته اصلی اینجاست: به زبان های مفسری، زبان اسکریپتی هم گفته میشه.

تفاوت کامپایلر و مفسر تو نحوه برخورد آن ها با کد های نوشته شدست، یعنی که کامپایلر کدهای نوشته شده شما رو به صورت یکجا به زبان ماشین تبدیل میکنه اما مفسر عمل تبدیل رو به صورت خط به خط انجام میده (یعنی ابتدا کدهای خط اول، سپس خط دوم و … رو به زبان ماشین تبدیل میکنه.)

یعنی کدهایی که به کمک زبان برنامه نویسی می نویسید، خط به خط به زبان ماشین تبدیل میشه.

زبان برنامه نویسی جاوا اسکریپت چیست:

JavaScript یاJS زبان سطح بالا و شی گرایی بوده که از آن در روش های مختلف برنامه نویسی استفاده میشود. همانطور که گفته شد این زبان همه فن حریف بوده و هم به عنوان زبان برنامه نویسی سمت سرور،زبان برنامه نویسی سمت کلاینت،زبان برنامه نویسی اپلیکیشن دسکتاپ و موبایل و بازی محسوب می شود.

جاوا اسکریپت جز زبان های برنامه نویسی سطح بالا محسوب می‌شود که کار با آن برای برنامه نویسان بسیار ساده بوده و ساختار نوشتاری راحت تری نسبت به زبان های سطح پایین دارد. این زبان مبتنی بر شی بوده و در برنامه نویسی شی گرا کاربرد بسیار زیادی دارد.

در برنامه نویسی شی گرا کدهایی که نوشته می‌شوند به واحد های کوچکی تقسیم شده و با تفکر برنامه نویس در حین برنامه با یکدیگر پیوند می خورند و در نهایت برنامه کاربردی نهایی تولید می شود.

زبان جاوا اسکریپت مفسری می باشد به این معنا که کدهای نوشته شده برنامه به صورت خطی یا خط به خط ترجمه و اجرا می‌شوند. ویژگی مهم زبان برنامه نویسی جاوا اسکریپت توانایی تغییر المانهای کد می باشد به این ترتیب شما می‌توانید از این زبان برنامه نویسی برای داینامیک کردن صفحات وب استفاده کنید.

مزایای جاوا اسکریپت:

  • قابلیت پویاسازی و داینامیک کردن صفحات وب
  • تعامل بیشتر با کاربر
  • بسیاری از سینتکس های این زبان با سایر زبان های برنامه نویسی مانند c,c++,c#
  • قابلیت استفاده از کتابخانه های آماده مانند کتابخانه های استاندارد ریاضی
  • قابلیت ساخت cookie
  • یادگیری ساده این زبان است نسبت به سایر زبان های برنامه نویسی
  • در دسترس عموم قرار داشتن به صورت رایگان و آفلاین
  • در دسترس قرار دادن تمام امکانات مورد نیاز برای برنامه نویسی سمت سرور و سمت کلاینت
  • امکان استفاده در تمام صفحات وب بدون افزایش حجم فایل و داده
  • محبوب ترین زبان برنامه نویسی در سال ۲۰۱۸
  • بدون نیاز به کامپایلر برای اجرا و پردازش دستورات
  • قابلیت اجرا بر روی تمام مرورگر ها

معایب جاوا اسکریپت :

  • اشکال در دیباگ کردن یا پیدا کردن خطا در کد
  • ایجاد محدودیت های امنیتی برای اجرای کدهای javascript
  • عدم اجرا بر روی مرورگر های قدیمی و از رده خارج شده
  • امکان سوء استفاده از این زبان برنامه نویسی و نفوذ به سیستم کاربران
  • ایجاد تناقض از طریق رندر شدن با ابزارهای مختلف
  • عدم پشتیبانی از قابلیت multithreading
  • عدم تبادل با سرور

کاربرد های جاوا اسکریپت :

  • ساخت اپلیکیشن های وب
  • ساخت اپلیکیشن های موبایل
  • ساخت اپلیکیشن های وب دسکتاپ (با استفاده از کتابخانه و فریم ورک های JavaScript)
  • توسعه بازی های رایانه ای تحت مرورگر
  • برنامه نویسی فرانت اند (سمت کاربرد)
  • برنامه نویسی بک اند (سمت سرور)
  • هک وب از طریق جاوا اسکریپت

کتابخانه های جاوا اسکریپت :

در اصل کتابخانه یا همان لایبرری مجموعه کدهاییه که از قبل توسط یک برنامه نویس یا تیمی از برنامه نویسان نوشته شده و در اختیار جامعه برنامه نویسان قرار گرفته و شما میتونید به جای این که خودتون کد ها رو بنویسید، از کتابخانه های آماده استفاده کنید.

مثلا اگه شما میخواید عمل x رو انجام بدید و حجم کد هایی که برای انجام عمل x نیاز دارید 100 خط میشه حالا شما میتونید به جای این که خودتون این 100 خط کد رو بنویسید، از کتابخانه ای استفاده کنید که عمل x رو براتون انجام بده . در اصل هدف از کتابخانه ها سهولت در کار و بالا بردن سرعت توسعه برنامه نویسانه. از کتابخانه های پر استفاده و محبوب جاوا اسکریپت میتونیم به موارد پایین اشاره کنیم:

  • ری اکت
  • جی کوئری
  • اکسیوس

موتور جاوا اسکریپت چیست؟

موتورهای جاوا اسکریپت کدهای جاوا اسکریپت را تفسیر، کامپایل و اجرا می‌کنند. همچنین، وظایف دیگری نیز برعهده دارند که می‌توان به مواردی مانند مدیریت حافظه، «کامپایل درجا» (Just in Time Compile)، «سیستم نوع» (Type system) و غیره اشاره کرد. مرورگرهای مختلف از موتورهای جاوا اسکریپت متفاوتی استفاده می‌کنند. نوع مرورگر و موتور مورد استفاده آن در فهرست زیر ارائه شده است.

  • مرورگر Edge کار با موتورهای Chromium، Blink و V8
  • مرورگر Chrome کار با موتور V8
  • مرورگر FireFox کار با موتور SpiderMonkey
  • مرورگر Safari کار با موتور Nitro

تفاوت جاوا و جاوا اسکریپت :

ممکن است هنوز افراد زیادی بین زبان جاوا و جاوا اسکریپت تمایزی قائل شوند و تصور کنند که این دو یک زبان برنامه نویسی مشترک هستند.

باید تاکید کنیم که جاوا و جاوا اسکریپت تفاوت های زیادی با یکدیگر داشته و نمیتوان آنها را مشابه هم در نظر گرفت. از زبان جاوا می توان برای نوشتن برنامه های تحت ویندوز استفاده کرد و کاربرد اصلی آن برای برنامه نویسی تحت ویندوز می باشد برای مثال برنامه تلفن هوشمند اندروید با استفاده از زبان جاوا بوده است.

اما javascript یک زبان برنامه نویسی سمت وب می باشد که از آن می توان برای برنامه های تحت ویندوز و برنامه های تلفن همراه اندروید استفاده کرد. با استفاده از زبان برنامه نویسی جاوا اسکریپت شما میتوانید انیمیشن های جذابی در سمت وب تولید کنید در حالی که زبان جاوا این قابلیت را ندارد.‌

تفاوت جاوا اسکریپت با سایر زبان های برنامه نویسی :

  • سی شارپ : یک زبان شی گرا برای ساخت برنامه هایی که در دات نت اجرا می شوند. به صورت استاتیک تایپ شده است، به این معنی که متغیرهای آن در زمان کامپایل قابل شناسایی هستند. برخلاف جاوا اسکریپت، سی شارپ دارای بارگذاری بیش از حد اپراتور و تبدیل است که به شما امکان می دهد انواع داده ها را تغییر دهید.
  • جاوا : یک زبان برنامه نویسی شی گرا که برای پشتیبانی از برنامه ها و برنامه های کاربردی بزرگ طراحی شده است. برخلاف جاوا اسکریپت، جاوا به شدت حساس به نوع داده میباشد، به این معنی که متغیرهای آن باید به انواع داده های خاص محدود شوند. جاوا برای اجرای اسکریپت خود به یک کامپایلر به موقع (JIT) نیاز دارد.
  • PHP : یک زبان سمت سرور که معمولاً در سیستم های مدیریت محتوای مبتنی بر PHP مانند وردپرس دیده می شود. اهداف اصلی آن انتقال اطلاعات به و از پایگاه داده، جمع آوری فایل های

    HTML و پیگیری جلسات است. برخلاف جاوا اسکریپت، PHP می تواند مستقیماً به پایگاه داده ها دسترسی داشته باشد و متغیرهای کوچک و بزرگ را می پذیرد.  

  • Ruby : یک زبان برنامه نویسی همه منظوره است که از فرابرنامه نویسی پشتیبانی می کند، به این معنی که می تواند برنامه های دیگر و خودش را تجزیه و تحلیل و اصلاح کند. محبوب‌ترین فریمورک آن، Ruby on Rails، به شما امکان می‌دهد برنامه‌های وب بزرگ را با هزینه و زمان موثر بسازید. پیاده سازی جاوا اسکریپت در js از چارچوب Ruby on Rails الهام گرفته شده است.
  • پایتون: جاوا اسکریپت برای توسعه وب‌سایت به‌طور غیرقابل‌انکاری بهتر از پایتون عمل می‌کند. همچنین جاوا اسکریپت در مرورگر اجرا می‌شود، در حالی که پایتون زبانی برای اهداف سمت سرور است. اگرچه از پایتون در توسعه وب استفاده می‌شود، اما به‌تنهایی کاربرد زیادی در این زمینه ندارد. به صورت کلی می‌توان در پاسخ به سوال جاوا اسکریپت یا پایتون، کدامیک بهتر است، این‌گونه پاسخ داد که برای پروژه‌های هوش مصنوعی و یادگیری ماشین، پایتون بهتر از جاوا اسکریپت عمل می‌کند و برای اهداف توسعه وب و طراحی سایت، جاوا اسکریپت بهتر از پایتون است. در واقع انتخاب بین پایتون یا جاوا اسکریپت بیشتر به هدف کاربر بستگی دارد.

حرف آخرمون:

در این مقاله به طور کامل توضیح داده ایم  که جاوا اسکریپت زبان اصلی بسیاری از توسعه‌دهندگانی است که در حوزه توسعه وب کار می‌کنند و یادگیری و سرمایه‌گذاری روی آن برای آینده از اهمیت بسیار بالایی برخوردار است. امیدواریم که این مطلب در رابطه با اینکه جاوا اسکریپت چیست و چه جایگاهی در میان زبان‌های برنامه نویسی دارد، به نیازهای شما پاسخ داده باشد.