جاوا اسکریپت چیست؟ توضیحاتی درباره جاوا اسکریپت و ES6

جاوا اسکریپت یک زبان اسکریپت نویسی بسیار محبوب و سطح بالا (High Level) است که در اوایل سال 2019 تبدیل به زبانی شده است که بسیاری از توسعه دهندگان در کل دنیا از آن استفاده و اقدام به یادگیری آن می کنند. استاندارد های جاوا اسکریپت کاملا آزاد است که توسط هیچ فرد منحصر به فردی کنترل نمی شوند، این زبان دارای ویژگی های زیادی است که از جمله آن ها می توان به پیاده سازی های مختلف و یادگیری آسان آن اشاره کرد که باعث می شود تا در میان توسعه دهندگان مبتدی بسیار محبوب و جذاب باشد.زبان برنامه نویسی جاوا اسکریپت چیست؟زبان برنامه نویسی جاوا اسکریپت در همان روز های ابتدایی که شبکه جهانی وب به وجود آمد ایجاد شد و شاید همین موضوع باعث شده است که عبارت جاوا بخشی از نام آن را تشکیل دهد. در سال 1995، Netscape قراردادی را با شرکت Sun منعقد کرد تا بتواند لایسنس زبان برنامه نویسی جاوا را تهیه کند و همین موضوع نیز این امکان را فراهم کرد تا این شرکت بتواند برنامه های جاوا را در وب اجرا کند.جاوا اسکریپت از روز های نخست شبکه جهانی وب مورد استفاده قرار گرفت، این زبان در ابتدا به عنوان روشی برای اضافه کردن برخی از قابلیت های سمت کلاینت به صفحات وب مورد استفاده قرار می گرفت و تقریبا می توان گفت امروزه نیز به صورت گسترده با همین هدف مورد استفاده قرار می گیرد. تقریبا هر چیزی که امروزه در صفحات وب سایت می بینید و با آن تعامل دارید و یا این که دارای تحرک است توسط جاوا اسکریپت نوشته شده است. به نوعی می توان گفت کل سیستم های تبلیغات آنلاین امروزه توسط این زبان برنامه نویسی ارائه شده است. نکته مهمی که درباره این زبان وجود دارد این است که این زبان تنها در مرورگر اجرا نمی شود بلکه به وسیله فریم ورک هایی مانند Node.js اکنون شما می توانید با استفاده از جاوا اسکریپت در هر مکان دیگری شروع به کد نویسی کنید، هم در سمت کلاینت و هم در سمت سرور.همانطور که از نام آن پیدا است javaScript یک زبان برنامه نویسی است، زبان های قدیمی تر مانند ++C قبل از آن که اجرا شوند به صورت دودویی کامپایل می شوند و در حین کامپایل نیز وجود داشتن ارور و خطاهای مختلف در کل برنامه شما بررسی می شود. زبان های اسکریپت نویسی دقیقا نقطه مقابل این زبان ها هستند، برنامه هایی که با این زبان نوشته می شوند به صورت خط به خط در هر لحظه با استفاده از یک برنامه دیگر که مفسر (Interpreter) نامیده می شود اجرا می شوند. زبان های اسکریپت نویسی نقطه شروعشان را یک مجموعه ساده از دستورات Shell قرار می دهند که برای اجرای سایر برنامه ها مورد استفاده قرار می گیرد اما انعطاف پذیری و استفاده ساده تر از آن ها باعث می شود تا تبدیل به محبوب ترین زبان های برنامه نویسی شوند که البته این موضوع بعد از ظهور وب اهمیت بیشتری نیز پیدا کرد.به زبان هایی که به زبان انسان‌ نزدیک‌ تر باشند، زبان‌ های سطح بالا (High Level) می‌گویند. زبان‎ های سطح بالایی مانند JavaScript کار را برای برنامه ‎نویسان ساده‌تر کردند، زیرا ساختار نوشتاری و منطق آن‌ها بسیار به زبان انسان‌ نزدیک‌ تر شده است. پس می‌توان اینگونه نتیجه گرفت که آموزش جاوا اسکریپت نسبت به سایر زبان‌ های برنامه نویسی سطح پایین (Low Level) ساده‌تر است.چرا جاوا اسکریپت بین برنامه نویسان محبوب است؟زبان جاوا اسکریپت یک زبان سرگرم‌کننده برای شروع یادگیری است و threshold پایینی دارد. همینطور توسط اکثر پلت‌ فرم‌ ها ساپورت می شود. جاوا اسکریپت یک زبان رایگان است و برای کدنویسی در آن نیازی به IDE های پولی نخواهید داشت زیرا جاوا اسکریپت تنها زبان برنامه نویسی بومی تحت وب هست و همه‌ ی مرورگرها آن‌‌ را پشتیبانی می‌کنند. همین مسئله اون رو یکی از محبوب‌ترین زبان‌های برنامه نویسی کرده است.جاوا اسکریپت زبانی با قابلیت‌های فراوان و متنوع است که در زیر به تعدادی از آن ها اشاره می کنیم : انجام محاسبات ریاضی منو های جالب همراه با انیمیشن نمایش اخطار و یا پیام به کاربران متحرک‌ سازی، انیمیشن و پویا نمایی تغییر در مشخصه‌ های المان‌ ها و CSS آن ها جمع‌ آوری اطلاعات کاربران از سایت و آمارگیری امکان تغییر در متن‌ های نمایش داده شده در مرورگر ساخت و تولید کد HTML به صورت پویا و برحسب شرایط مورد نیاز عکس‌ العمل نشان دادن به واکنش‌ های کاربران نظیر تغییر المان ها با حرکت و کلیک موس بر روی آن‌ها تعامل با کاربر از طریق المان‌ های ورودی نظیر Textbox ها، RadioButton ها، TextArea و … قابلیت تغییر رنگ‌ ها از جمله رنگ پس زمینه و موقعیت قرار گیری المان‌ های استفاده شده در طراحی وب مزایای زبان برنامه نویسی جاوا اسکریپتزبان برنامه نویسی جاوا اسکریپت مزایای زیادی دارد که در این جا به برخی از آن ها می پردازیم : صفحات HTML شما را پویا می کند. می تواند Cookie بسازد و از آن استفاده کند. قابلیت های زیادی در کنترل Browser کاربر دارد. قابلیت برنامه نویسی را به صفحات HTML شما می دهد. می‌ توان از آن در تمامی صفحات وب، بدون توجه به حجم داده‌ ها و فایل استفاده کرد. فراهم کردن برنامه‌نویسی Dynamic که در دنیای مدرن امروزه بسیار مورد استفاده قرار می‌گیرد. دنیایی از کتابخانه و فریم‌ ورک دارد که در نهایت توسعه صفحات وب را برای برنامه نویسان آسان می‌کند. یک زبان برنامه نویسی رویداد محور (Event-based) می‌باشد که در مصارف صنعتی کاربرد های بسیاری دارد. فرا گیری زبان جاوا اسکریپت نسبت به دیگر همتایان آن بسیار ساده می‌ باشد. به علاوه منابع این زبان به صورت آنلاین و آفلاین در دسترس عموم قرار دارد. وقتی به‌ عنوان یک زبان سمت کاربر (Client-Side) از آن استفاده می‌شود، به محض باز شدن مرورگر، جاوا اسکریپت نیز به سرعت شروع به‌کار می‌کند. به لطف جاوا اسکریپت، برنامه‌نویسان نیازی به یادگیری زبان‌های مختلف سمت کاربر یا سمت سرور ندارند. به‌عبارت دیگر زبان جاوا اسکریپت تمامی امکانات مورد نیاز را در یک پکیج برای برنامه نویسی فرانت اند و برنامه نویسی بک اند فراهم می‌کند.کاربرد جاوا اسکریپت در دنیای برنامه نویسی چیست؟جاوا اسکریپت در زمینه‌ های بسیار زیادی به کار می‌رود که به مهم ترین کاربرد هایش اشاره می کنیم :1- وب سایت‌ ها با جاوا اسکریپت می‌ توانید به هر جایی از صفحه وب، رفتار یا اقدام جدیدی را اضافه کنید. با این کار وب سایت به راحتی با مخاطبان و بازدیدکنندگان تعامل برقرار نموده و نیازی به اقدامات پیچیده و بارگذاری صفحه جدید نیست.2- وب اپلیکیشن‌ ها با توسعه مرورگر ها و کامپیوتر ها، جاوا اسکریپت هم قابلیت تولید اپلیکیشن‌ های قدرتمند وب را پیدا کرد. اپلیکیشن‌ هایی مثل Google Maps را در نظر بگیرید. اگر بخواهید نقشه‌ای را درون Google Maps جستجو کنید‌، فقط به کلیک و درگ کردن با ماوس نیاز دارید. در ابتدا شاید نقشه فاقد جزئیات دیده شود، ولی کم کم تکمیل می‌شود. در واقع جاوا اسکریپت در پشت این قابلیت مشغول به فعالیت است.3- نمایش یا ارائه دادنیکی از کاربرد های جاوا اسکریپت نمایش یا ارائه محتوا روی وب سایت‌ ها است. این کار در صورت آشنایی با برنامه‌های HTML و CSS با به کارگیری فریم ورک Reveal.js بسیار ساده است.4- سرور اپلیکیشن‌ ها جاوا اسکریپت چند سال قبل با ابداع Node.js از مرورگر به سمت سرور راه پیدا کرد. بعد از آن شرکت‌ های بزرگی مثل والمارت از Node به عنوان بخش اصلی زیر ساخت خودشان استفاده کردند.5- وب سرور هابا کمک Node یا فریم ورک استاندارد اپلیکیشن سرور یعنی Express.js می‌ توانید سرور های قدرتمند تری بسازید. بسیاری از Node های موجود با کمک MERN (Mango Express React Node) ساخته شده‌اند که Express مؤلفه اصلی آن است.6- بازی‌ هابا اینکه مرورگر ها در گذشته فاقد پلتفرم بازی‌ های قدیمی بودند ولی اخیرا به مکان مناسبی برای انجام بازی‌ ها تبدیل شده اند. به علاوه با وجود HTML5 Canvas، سطح پیچیدگی بازی‌ های مبتنی بر مرورگر تا حد زیادی افزایش یافته است. حتی بازی‌ هایی روی مرورگر قرار دارند که نحوه برنامه نویسی را به ما آموزش می‌دهند.7- هنر های زیبایکی از ویژگی‌ های جدید HTML5 عنصر Canvas است که امکان ایجاد فضای سه بعدی را به مرورگر ها می‌دهد. با این قابلیت می‌توان از مرورگر به عنوان منبع جدید اجرای پروژه‌ های هنری دیجیتال استفاده کرد.8- اپلیکیشن‌ های ساعت هوشمندشرکت معروف Pebble که سازنده ساعت‌های هوشمند است، فریم ورک کوچک جاوا اسکریپت به نام Pebble.js را ساخت تا توسعه دهندگان نرم افزار بتوانند اپلیکیشن هایی برای ساعت های هوشمند به زبان جاوا اسکریپت بسازند.9- اپلیکیشن‌ های موبایلیکی از کاربردهای جاوا اسکریپت ساخت اپلیکیشن‌ برای حوزه‌ هایی غیر از وب است. یعنی اپلیکیشن‌ هایی می‌سازید که روی اینترنت قرار نمی‌گیرند. برای مثال: موبایل‌ ها محبوب ترین روش برای دسترسی به اینترنت هستند. پس تمامی وب سایت‌ ها باید با نمایش در نسخه موبایل سازگار شوند. حالا اپلیکیشن موبایل باید در دو سیستم اندروید و اپل فعالیت کند. هر کدام از این برنامه‌ ها دارای زبان برنامه نویسی متفاوتی هستند.10- ربات‌ های پروازی (پهباد ها)برخی از کوادکوپتر های تجاری که سیستم عامل ساده‌ای دارند، قابلیت نصب Node.js را پیدا کرده اند. یعنی می‌توانید یک پهباد را با کمک جاوا اسکریپت طراحی کنید. جاوا اسکریپت یکی از زبان‌ های برنامه نویسی بسیار در دسترس روی کره زمین با قابلیت‌ های زیاد است. بنابراین کاربرد های جاوا اسکریپت هم بسیار متنوع هستند.اکما اسکریپت (ES6) چیست؟اکما اسکریپت زبان جدیدی نیست و فقط یک استداندارد هست که برای زبان برنامه نویسی جاوا اسکریپت تعیین شده است. اکما یک سازمان بین المللی است که کار تعریف استاندارد‌ های سیستم‌ های کامپیوتری و ارتباط سیستم‌ ها را انجام می‌دهد. این سازمان از سال 1961 کار خودش را از اروپا شروع کرده و کار تعریف استاندارد ها را بر عهده دارد و از سال 1994 با عنوان فعلی خود یعنی ECMA شناخته می‌شود.استاندارد اولیه جاوا اسکریپت، ECMAScript 5 یا ES5 نام داشت که در سال 2009 عرضه شد. این جاوا اسکریپت خالص بدون هیچ قابلیت اضافی بود که در همه جا حتی در IE9 پشتیبانی می‌شود. اکما اسکریپت نسخه 6 (ES6) یک استاندارد نسبتا جدید است که در سال 2015 عرضه شده است و از قابلیت‌ های جدید زیادی پشتیبانی می‌کند. این استاندارد از نظر فنی ES2015 نامیده می‌شود و هر نسخه سالانه پس از آن نیز بر اساس سال انتشار مشخص می‌شود. اما در هر حال اغلب افراد آن را ES6 می‌نامند. ES6 به طور خاص از این جهت مهم است که یک نشانه از آغاز استاندارد سازی جاوا اسکریپت محسوب می‌شود. امروزه ECMA هر سال یک نسخه جدید ارائه می‌کند. اما ES6 شش سال پیش و پس از ES5 عرضه شد.اکما اسکریپت 6 در عمل در جاهای زیادی پشتیبانی می‌شود و تنها مشکل عمده در زمینه اینترنت اکسپلورر است. بنابراین گرچه شما می‌ توانید شروع به نوشتن استایل ES6 بکنید، اما نمی‌توانید مطمئن باشید که روی مرورگر همه افراد رفتار یکسانی خواهد داشت. امروزه ES6 به طور معمول به کمک ابزاری مانند Babel به ساختار ES5 کامپایل می‌شود. Babel یک کامپایلر است که توسعه کدی که در ES6 با همه ویژگی‌ های آن نوشته شده است را به کدی تبدیل می‌کند که روی سایت پروداکشن اجرا می‌شود و در اغلب موارد نیز به کمک Webpack به صورت باندل‌ شده و Minify شده عرضه می‌شود.برخی از قابلیت های ES6 که به جاوا اسکریپت اضافه شدند : Arrow Functions ، const ، let ، عملگر Exponentiation و...