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

javascript

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

جاوااسکریپت   JavaScript  زبان برنامه‌نویسی اسکریپت مبتنی بر اشیاء است که توسط شرکت NetScape تولید شده ‌است. جاوااسکریپت، یک زبان برنامه‌نویس شیءگرا و سطح بالا است که بر اساس استاندارد ECMA-262  نوشته شده‌است.

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

در مورد کاربرد جاوااسکریپت در وب میتوان از  ارزیابی فرم ها، اسلایدر، بازی های تحت وب و تعامل آن با سرور (AJAX اِی جکس ) نام برد.

علیرغم اشتباه عمومی، زبان جاوااسکریپت با زبان جاوا(Java) یکسان نیست، اگر چه ساختار این زبان به زبان برنامه نویسی جاوا شباهت دارد؛ در واقع   زبانهایی مانند JavaScript, Java, PHP, C++, C#, Swift, … را زبانهای خانواده سی  (C-family/C-like) می نامند. از همین رو دستورهای متداول مانند if, for, try..catch , while  و… در این زبان هم یافت می‌ شوند.

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

کاربرد گسترده این زبان در سایتها و صفحات اینترنتی می‌باشد و به کمک این زبان می‌توان به اشیاء داخل صفحات HTML دسترسی پیدا کرد و آنها را تغییر داد. به همین علت برای پویا نمایی در سمت کاربر(client-side)، از این زبان استفاده می‌شود.

اولین بار جاوااسکریپت در مرورگر Netscape communicator  در دسامبر ۱۹۹۵ معرفی و عرضه شد.

 

به دلیل موفقیت عمدهٔ جاوااسکریپت در نقش زبان  سمت کاربر (client side scripting language) برای صفحات وب، مایکروسافت یک نسخه سازگار از این زبان را ایجاد کرد و به علت مشکلات حقوقی آن را جی اسکریپت نامید. این زبان در نسخه ۳٫۰ از مرورگر اینترنت اکسپلورر و در اوت ۱۹۹۶ داده شد. تفاوت‌های این دو زبان به حدی جزیی است که اغلب جی اسکریپت و جاوااسکریپت به جای هم به کار می‌روند. هرچند که مایکروسافت در اینجا چندین دلیل برای تفاوت جی اسکریپت با استاندارد ECMA مطرح می‌کند.

 

نت‌اسکیپ جاوااسکریپت را به سازمان Ecma International برای استاندارد سازی ارسال کرده‌است و نتیجه نسخهٔ استاندارد شده‌ای به نام ECMA Script است.

 

 

 

جاوااسکریپت برای تأمین اشیاء و متدها که با آن‌ها تعامل کند به یک محیط اجرایی (مانند مرورگر وب) نیاز دارد تا بتواند به این ترتیب با دنیای خارج ارتباط برقرار کند که در حقیقت تفسیر(Interpret) کدهای جاوا اسکریپت بر عهده موتور رندر (Render engine) مرورگر است.

 

 

عبارات منظم (Regular Expression)

جاوااسکریپت به شیوه‌ای مشابه زبان پرل (Perl) از عبارات منظم پشتیبانی می‌کند که نحوی(syntax) قدرتمند را به شکلی فراتر از توابع پیش ساخته برای کار با رشته‌ها، فراهم می‌کند.

 

این زبان دارای تبدیلات خود کار بین انواع داده‌ای تعریف شده می باشد. زمانی که بخواهد یک if را ارزیابی کند یا از عملگرهای منطقی ! و && و || استفاده شود، تبدیل به نوع دودویی را انجام می‌دهد. مقادیر0 و NaN به false و سایر مقادیر عددی به true نگاشت می‌گردد. همچنین رشتهٔ تهی false و سایر رشته‌ها true در نظر گرفته می‌شود. انواع شی و تابع،  true و undefined و null هم false در نظر گرفته می‌شود.

 

زمانی که یکی از عملوندهای عملگر + رشته باشد، تبدیل به رشته صورت می‌گیرد، مانند 2 + “1” که می‌شود “12”

اما اگر داشته باشیم 1+2 نتیجه عدد 3 خواهد بود زیرا عملگر + هم کار اتصال رشته ها (Concatenation) و هم جمع اعداد (Addition) را در جاوااسکریپت بر عهده دارد.

 

جاوااسکریپت به یکی از زبان‌های برنامه‌نویسی پر طرفدار در وب تبدیل شده‌است. هر چند ابتدا بسیاری از برنامه نویسان حرفه‌ای به اشتباه این زبان را کم ارزش تلقی می‌کردند چون مخاطبین آن نویسندگان صفحات وب و آماتورهای این چنینی بودند. ظهور اِی ‌جکس AJAX  بار دیگر جاوااسکریپت را در معرض توجه قرار داد و برنامه نویسان حرفه‌ای بیشتری را به خود جذب نمود. نتیجه ازدیاد فریمورک (ّFrame work) و کتابخانه‌های(library) جامعی در این زمینه، بهبود شیوه‌های رایج برنامه‌نویسی در جاوااسکریپت و افزایش کاربرد جاوااسکریپت خارج از وب است.

از مطرح ترین کتابخانه ها و فریمورکهای جاوا اسکریپت می توان از Apache Cordova , JQuery, JQuery UI, JQuery mobile, React , React native, AngularJS, …   نام برد.

نسخه های  ECMAScript

نسخه نام توضیحات
1 ECMAScript 1 1997 First Edition.
2 ECMAScript 2 1998 Editorial changes only.
3 ECMAScript 3 1999 Added Regular Expressions.
Added try/catch.
4 ECMAScript 4 Never released.
5 ECMAScript 5 2009 Added “strict mode”.
Added JSON support.
Added String.trim().
Added Array.isArray().
Added Array Iteration Methods.
5.1 ECMAScript 5.1 2011 Editorial changes.
6 ECMAScript 2015

Recommended to use 

پیشنهاد می گردد در سال 2019 از این نسخه استفاده شود

Added let and const.
Added default parameter values.
Added Array.find().
Added Array.findIndex().
7 ECMAScript 2016 Added exponential operator (**).
Added Array.prototype.includes.
8 ECMAScript 2017 Added string padding.
Added new Object properties.
Added Async functions.
Added Shared Memory.
9 ECMAScript 2018 Added rest / spread properties.
Added Asynchronous iteration.
Added Promise.finally().
Additions to RegExp.

 

 

پشتیبانی مرورگرها از ES6 ECMAScript 2015

مرورگر نسخه تاریخ
Chrome 58 Apr 2017
Firefox 54 Jun 2017
Edge 14 Aug 2016
Safari 10 Sep 2016
Opera 55 Aug 2017

نکته : اینترنت اکسپلورر ،  IECMAScript 2015 را پشتیبانی نمی کند و فقط در ویندوز 10 توسط مرورگر مایکروسافت اج نسخه 14 به بالا پشتیبانی می شود.

تایپ اسکریپت TypeScript : 

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

تایپ اسکریپت یک superset برای جاوااسکریپت است و  برای رندر توسط مرورگر حتماً باید به جاوا اسکریپت خالص ترجمه و کامپایل شود؛

فراموش نکنیم محتوای نهایی وب تنها می تواند ترکیبی  از HTML CSS JS باشد.

برای استفاده از تایپ اسکریپت حتماً باید کامپایلر آن را نصب نمود  و البته بسته های نصبی توسط مایکروسافت برای IDE های مطرح از جمله وب استورم ارائه شده است.

طبق مقاله ای در سال 2016 سایت Fossbytes معتقد است جاوااسکریپت پیچیده ترین زبان برنامه نویسی می باشد:

most-complex-programming-languages

 

 

سایت Stack Overflow   در سال 2016 با  بررسی 56000 توسعه دهنده از 176 کشور جهان ، پر کاربردترین تکنولوژی های مورد استفاده آنها را به شرح زیر اعلام نمود:

1 – JavaScript — 55.4%

2 – SQL — 49.1%

3 – Java — 36.3%

4 – C# — 30.9%

5 – PHP — 25.9%

6 – Python — 24.9%

7 – C++ — 19.4%

8 – AngularJS — 17.9% JavaScript framework

9 – Node.js — 17.2% server-side JavaScript

10 – C — 15.5%

 

جاوااسکریپت از نظر میزان استفاده در دنیای برنامه نویسی حرفهای  طی سالهای اخیر، همواره جز 5 یا 10 زبان برتر بوده است .

پیشنهاد می شود ابتدا  HTML و CSS  را که پیش نیاز بوده آموخته سپس یادگیری جاوااسکریپت را آغاز نمایید.

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

سپاس ، الیاس ناصرخاکی

این مقاله به زبان انگلیسی

 

۵ پاسخ

  1. Robbie گفت:

    This is the perfect way to break down this information.

  2. Tom گفت:

    Thank you for producing the power dependable, educational and as well as easy tips about your topic.

  3. ali گفت:

    it’s beautiful

  4. amir گفت:

    ممنونم بسیار عالی بود

  5. best pron گفت:

    this is very useful, Thanks for taking your time to write this

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *