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



visibility  
mode_comment   ۸

این مقاله یه مقاله « جاوا اسکریپت چیست » یا « javascript چیست » معمولی نیست! توی این مقاله می خوام با یه دوست قدیمیِ خفن و دوست داشتنی ولی حساس(!) آشنات کنم. دوستی که زیاد اسمشو شنیدی. رویای تو چیه؟ می خوای برنامه نویس وب بشی؟ به صفر و یکِ کبیر قسم جاوا اسکریپت رفیق همیشگی توست دوست من! از ته صف میشنوم یکی گفت پس بیخیالِ این مقاله! آهای تو که قراره یک برنامه نویس موبایل، بازی یا دسکتاپ بشی! (دارم با صدای بلند فریاد می کشم!) تو هم می تونی با این دوست قدیمی مون مچ بندازی! البته اگر می دونی جاوا اسکریپت چیه و اطلاعات کافی در مورد خودش و مسیر یادگیریش داری می تونی برای آموزش جاوا اسکریپت از ما کمک بخوای!

این به قول گتسبی بزرگ، old sport ما (واقعا یعنی چی؟!) یه ویژگی عجیب داره! اون به حدی حساسه که تقریبا به هر چیزی که روی کره خاکی اتفاق می افته واکنش نشون میده! شوخی کردم! ولی تک تک حرکات شما توی مرورگر کامپیوتر زیر نظر اونه و در دادگاه علیه تون استفاده میشه! من از تصور دیدن اون قیافه های متعجب و وحشت زده پشت مانیتور کیف می کنم! برای اینکه از این تعجب در بیای و بفهمی جاوا اسکریپت یا js دقیقا چیه ادامه مقاله رو بخون.

محبوب ترین زبان برنامه نویسی

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

تصور کن یک وب سایت نوشتی. تو ساختار سایتت رو با HTML تعیین می کنی. بعد به سراغ CSS میری و سعی می کنی یه دستی به سر و روی سایت بکشی! خوب بدک نیست... تا اینجای کار یه فسیل سایت از عصر پارینه سنگی داری که تقریبا هیچ حرکتی (به جز انیمیشن های ابتدایی CSS نمی کنه). بذار بگم تو به چی احتیاج داری: معجون زندگی بخش! معجون زندگی بخش، فسیل تو رو به یک دایناسور واقعی تبدیل می کنه! البته حدس می زنم کار وبسایت تو شکار و شرحه شرحه کردن دیگران نباشه. اما به هر حال... old sport عزیز! ما جدا احتیاج به دیدن علائم حیاتی سایتت داریم!

معجون زندگی بخشی که ازش حرف زدم جاوا اسکریپته! javascript در حال حاضر یکی از محبوب ترین زبان های برنامه نویسی دنیاست. اگر این حرفم باعث نمیشه بقیه برنامه نویس های جمع احساس غریبی کنن، در واقع در صورتی که برنامه نویس وب باشی جاوا اسکریپت یکی از سه زبانیه که صددرصد با اون ها سر و کار داری!

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

Js زبانیه که برای واکنش پذیر کردن صفحات وب و در نتیجه بهبود تجربه کاربری یا UX اون ها استفاده میشه. با استفاده از جاوا اسکریپت می تونی به سایتت چیز های جذابی مثل نقشه، اسلایدر تصاویر، منو های واکنش گرا، پیام های توجه و ... رو اضافه کنی.

البته میشه با این محبوب ترین زبان برنامه نویسی برای سمت سرور (Server Side)، اپلیکیشن های موبایل، بازی و اپلیکیشن های دسکتاپ برنامه نوشت. ما اینجا با یک حقه باز همه فن حریف طرف هستیم دوستانِ من!

جاوا اسکریپت چگونه کار می کند

javascript یک جور زبان اسکریپتی بر اساس متنه. یعنی می تونه حتی لا به لای کد های HTML نوشته و وقتی که صفحه در حال لود شدنه اجرا بشه. همینطور برای اجرا مستقیما به کامپایلر احتیاج نداره! اینجا یک سوال بزرگ خودش رو نشون میده! پس جاوا اسکریپت دقیقا چطور اجرا میشه؟

در جواب این سوال باید بگم که مرورگر های مختلف برای اجرای جاوا اسکریپت از موتور خاصی به اسم Javascript Virtual Machine یا ماشین مجازی جاوا اسکریپت استفاده می کنن. این انجین یا موتور در مرورگر های مختلف نام های متفاوتی داره:

  • موتور V8 برای مرورگر های کروم و اپرا
  • موتور SpiderMonkey برای فایرفاکس (میمون عنکبوتی؟!!)
  • موتور Trident و Chakra برای ورژن های مختلف اینترنت اکسپلورر و ChakraCore برای مرورگر Edge
  • موتور Nitro و SquirrelFish برای سافاری (برنامه نویسی را در دریا و جنگل حیوانات تجربه کنید!!!)
  • و...

کلی اسم جانوران خشکی و دریا اینجا آورده شد اما خوب... هنر همه این حیوانات دوست داشتنی به این ترتیبه:

  1. انجین یا موتور جاسازی شده داخل مرورگر (اگر موتور روی مرورگر سوار باشه) js رو ترجمه یا Parse می کنه
  2. انجین اسکریپت ها رو به زبان ماشین کامپایل می کنه
  3. کد زبان ماشین اجرا میشه!

جاوا اسکریپت

البته این رو همین الان بهت بگم! معنی این حرف ها این نیست که جاوا اسکریپت قراره فقط روی مرورگر اجرا بشه! Javascript  به طور شگفت انگیزی روی تقریبا تمام پلتفرم ها با استفاده از همین JavaScript Virtual Machine اجرا میشه! گفتم ‘تقریبا’ چون یک درصد احتمال میدم ممکنه پلتفرمی باشه که جاوا اسکریپت در حال حاضر روش اجرا نشه! من که یه مرتاض هندی نیستم که طالع جاوا اسکریپت رو ببینم!

تاریخچه جاوا اسکریپت

جاوا اسکریپت اولین بار در می 1995 در 10 روز(!) توسط برندن ایچ، یکی از کارکنان شرکت Netscape متولد شد! در ابتدای کار اسم این زبان برنامه نویسی Mocha بود که بعد به Mona تغییر پیدا کرد! در سپتامبر همون سال اسم اون به LiveScript تغییر کرد و در آخر سریال تغییر اسم با انتخاب اسم JavaScript به اتمام خودش رسید! اون هم به این خاطر که اون روز ها زبان برنامه نویسی Java خیلی پرطرفدار شده بود!

به هر حال در سال 1996 جاوا اسکریپت برای استاندارد شدن به سازمان ECMA سپرده شد. در نهایت اولین استاندارد جاوا اسکریپت با نام ECMAScript در سال 1997   منتشر شد. اولین اکما اسکریپت ECMA-262 و آخرین ورژن اون با اسم ECMAScript 2017 در ژوئن 2017 منتشر شد.

نقاط قوت جاوا اسکریپت

جاوا اسکریپت

خوب old sport های گرامی! نوبت به بخش جذاب ضیافت رسید! واقعا چرا باید این یارو جاوا اسکریپت اینقدر مهم باشه؟! باید بگم javascript مزایای خیلی زیادی داره (البته اگر برنامه نویس وب هستی در سمت کاربر حق انتخاب خاصی نداری!!!). ولی مجبورم توجه دوستان برنامه نویس اپلیکیشن و دسکتاپم رو با عرق جبین جلب کنم! دوستان من! شما عاشق جاوا اسکریپت میشید اگر بدونید:

  • بر اساس بررسی سایت stackoverflow محبوب ترین زبان برنامه نویسی سال 2018 هست!
  • به کامپایلر احتیاج نداری
  • یادگیری جاوا اسکریپت نسبت به خیلی از زبان های برنامه نویسی راحت تره
  • می تونه به صورت کراس پلتفورم روی مرورگر ها یا پلتفرم های مختلف اجرا بشه
  • وب سایتت رو کنش پذیر کنه و در نتیجه تجربه کاربر یا UX رو بهبود می بخشه
  • نسبت به زبان های برنامه نویسی دیگه سبک تر و سریع تره

نقاط ضعف جاوا اسکریپت

خوب old sport! دنیا جای نامردیه! همیشه در مورد خوبی های چیزی یک قطار حرف داریم. اما در سایه ها، معایب و نقاط ضعف ناجوانمردانه کمین کردن! در واقع همه چیز های خوشمزه یک نیمه سرطانزا در خودشون دارن! در مورد جاوا اسکریپت بیشتر این نقاط ضعف در امنیت خلاصه میشه! نقاط منفی این محبوب ترین زبان برنامه نویسی 2018 از این قراره:

  • نفوذپذیری نسبت به اکسپلویت ها و عوامل مخرب
  • می تونه برای اجرای کد های مخرب روی کامپیوتر کاربران استفاده بشه
  • با رندر شدن متفاوت روی برازر های مختلف می تونه باعث ایجاد تناقض و نداشتن یکپارچگی بشه
  • همیشه روی مرورگر های متفاوت پشتیبانی نمیشه

نتیجه گیری

اگر طراحی سایت رو مثل ساختن یه خونه در نظر بگیریم، تو با HTML در و دیوار های خونه رو اونطور که می خوای بالا میاری و سازی. بعد احتمالا با CSS دیوار ها رو رنگ و بعضی جاها رو کاشی کاری می کنی یا کاغذ دیواری می کشی. خونه به نظر تموم شده ولی رفیق! جدا قابل زندگی نیست! حالا باید با js بهش لامپ و لوستر و پکیج گرمایشی اضافه کنی! توی دنیای واقعی ما با javascript به سایت ها زندگی می بخشیم! علاوه بر اون جاوا اسکریپت برای برنامه نویسی سمت سرور یا بک اند سایت، برنامه نویسی اپلیکیشن های موبایل و برنامه نویسی دسکتاپ و حتی بازی ها استفاده میشه. برای اینکه بفهمی js چطور این کار ها رو می کنه و بیشتر با این دوست حساسمون آشنا بشی، حتما مقالات بعدی رو دنبال کن! در ضمن اگر دوست داری از این دوستمون غیبت یا حتی تعریف کنی قسمت نظرات منتظرته old sport! البته می دونم که جلو روش هم میگی... به هر حال... چقدر خوشحال میشم اگر بدونم مهمون های این ضیافت چه کسانی هستن! امضا: گتسبی!

متخصص جاوا اسکریپت
با جاوا اسکریپت جادوگری کنید! آیا می دونید با زبان جاوااسکریپت می تونید، برای فرانت اند و بک اند وبسایت ها برنامه نویسی کنید؟ همینطور اپلیکیشن دسکتاپ و موبایل بسازید؟ اگر دوست داری اینکارها رو انجام بدی و React, ElectronJS, ReactNative, NodeJS,MongoDB و ... رو تو یه دوره یاد بگیری، متخصص جاوااسکریپت سون لرن رو حتما ببین : متخصص جاوا اسکریپت arrow_back
comment دیدگاه کاربران
mahdi replyپاسخ

تکراری! سون لرن نوآوریش رو از دست داده.

زهرا فرحمند

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

منصور replyپاسخ

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

مصطفی قدیمی

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

آرش replyپاسخ

به نظر من بسیار مقاله جالب بود و از سبکش نگارش خوشم اومده

زهرا فرحمند

سلام. خوشحالم که استفاده کردید 🙂

سینا replyپاسخ

سلام مقاله خوبی بود منتظر مقاله های بعدی JavaScript هستم فقط نه تا ده یا صد سال دیگه….

زهرا فرحمند

ممنون

add_circle ارسال دیدگاه

خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :