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

۲۹ آبان ۱۳۹۸

مقدمه ای بر زبان برنامه نویسی جاوا اسکریپت

javascript یکی از محبوب ترین زبان های برنامه نویسی دنیا است و امروزه به طور گسترده خارج از مرورگر نیز استفاده می شود. در سال های اخیر انتشار Node.js توسعه ی دهی پشتیبان را برای دومین های جاوا، رابی، پایتون و  PHP و زبان های server-side  دیگری امکان پذیر کرد. همه چیز را درباره ی آن بیاموید!

معرفی

جاوا اسکریپت یکی از مشهور ترین زبان های برنامه نویسی جهان است.

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

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

در ابتدا به اندازه ی امروز قدرتمند نبود و بیشتر برای ساختن انیمیشن و DHTML استفاده می شد.

با توجه به پیشرفت نیاز های پلت فرم های وب، جاوا اسکریپت ناچار شد پیشرفت کند تا بتواند نیازهای یکی از پرکاربرد ترین اکوسیستم های دنیا را بر طرف کند.

با API های مرورگر، چیزهای زیادی در پلت فرم معرفی شد اما خود زبان هم رشد چشم گیری داشت.

امروزه جاوا اسکریپت خارج از مرورگر نیز به طور گسترده کاربرد دارد. در سال های اخیر انتشار Node.js توسعه دهی پشتیبان را برای دومین های جاوا، رابی، پایتون و  PHP و زبان های server-side  دیگر امکان پذیر کرده است.

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

تعریف ساده ی جاوا اسکریپت

 

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

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

سطح بالا است: خلاصه هایی را در اختیار شما قرار می دهد که می توانید در زمان اجرا، جزئیات ماشین را نادیده بگیرید. به طور خودکار با کنترل اضافات، حافظه را مدیریت می کند، در نتیجه می توانید به جای تمرکز بر لوکیشن های حافظه روی کد تمرکز کنید و همچنین ساختارهای زیادی را در اختیار شما قرار می دهد که با استفاده از آن ها می توانید با متغیرها و آبجکت های قوی کار کنید.

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

دسته بندی پویا: هر متغیر الزاما در یک دسته قرار نمی گیرد. می توانید برای هر متغیر هر نوعی که می خواهید را در نظر بگیرید. مثلا می توانید یک عدد صحیح را به متغیری که حامل رشته است بدهید.

دسته بندی آزاد: برخلاق دسته بندی قوی، دسته بندی ضعیف یا آزاد در یک زبان باعث می شود مجبور به قرار دادن شی در دسته ای خاص نباشید که منجر به انعطاف پذیری بیشتر می شود اما امنیت دسته بندی و بررسی آن را دشوار می کند (گاهی که هدف تقویت TypeScript  و Flow است)

ترجمه شده است: به زبان ترجمه شده معروف است یعنی بر خلاف C یا جاوا ، قبل از اجرا به مرحله ی کامپایل کردن نیازی ندارد. در عمل، مرورگر جاوا اسکریپت را پیش از اجرا کامپایل می کند اما شما آن را نمی بینید: هیچ مرحله ی اضافه ای وجود ندارد.

پارادایم های متعدد: این زبان بر خلاف زبان جاوا که ما را مجبور به استفاده از پارادایم برنامه نویسی آبجکت محور می کند و یا C که برنامه نویسی دستوری است، ملزم به هیچ پارادایم خاصی نیست. شما می توانید با استفاده از پارادایم آبجکت محر، پروتوتایپ ها و کلاس های ساختاری جدید (مثل ES6) در جاوا اسکریپت برنامه بنویسید. می توانید برنامه هایی در استایل برنامه نویسی کاربردی، با استفاده از عملکرد های دسته اول آن، یا حتی استایل دستوری را در جاوا اسکریپت بنویسید.

اگر برایتان سوال ایجاد شده باید بگوییم که جاوا اسکریپت هیچ ارتباطی با جاوا ندارد و علی رغم نام گذاری ضعیف ما مجبوریم با آن کنار بیاییم.

ورژن های جاوا اسکریپت

اجازه بدهید کلمه ی ECMAScript  را معرفی کنم. ما یک راهنمای کامل برای ECMAScript  داریم که می توانید مطالعه کنید اما برای شروع کافیست بدانید که ECMAScript  ( ES) نام استاندارد جاوا اسکریپت است.

جاوا اسکریپت یک پیاده سازی از آن استاندارد است. به همین دلیل است که درمورد ES6, ES2015, ES2016ES2017ES2018 و غیره می شنوید.

 

برای مدتی طولانی، همه ی مرورگر ها ورژن ECMAScript 3 جاوا اسکریپت را اجرا می کردند. ورژن 4 به دلیل مشکلاتی متوقف شده بود( اضافه کردن ابزارهای بسیار زیاد)، در حالی که ES5 ورژن بسیار مهمی برای جاوا اسکریپت بود.

ES2015 که با نام ES6 نیز شناخته می شود هم ورژن بسیار مهمی بود.

از آن پس تصمیم گرفتند هر سال یک ورژن منتشر کنند تا فاصله ی بین انتشار ورژن ها زیاد نشود و بازخورد های سریع تری بگیرند.

در حال حاضر جدید ترین ورژن جاوا اسکریپت، ورژن ES2017 است.