آموزش جاوا اسکریپت — مجموعه مقالات جامع وبلاگ فرادرس
جاوا اسکریپت (JavaScript) که گاهی به اختصار JS نیز نامیده میشود، یک زبان سطح بالای تفسیری (Interpreted) است. از خصوصیات مهم این زبان به دینامیک بودن، نوعبندی ضعیف، مبتنی بر پروتوتایپ بودن و طراحی چند پارادایمی میتوان اشاره کرد. این زبان برنامهنویسی به همراه HTML و CSS یکی از سه فناوری اصلی تشکیلدهنده وب جهانگستر (World Wide Web) است. با استفاده از جاوا اسکریپت میتوان صفحات وب تعاملپذیر ساخت و از این رو بخشی ضروری از وب اپلیکیشنها محسوب میشود. اغلب وبسایتها از جاوا اسکریپت استفاده میکنند و اکثر مرورگرهای وب مدرن، موتور اختصاصی برای جاوا اسکریپت دارند که آن را اجرا میکند.
جاوا اسکریپت به عنوان یک زبان چند پارادایمی از رویکردهای برنامهنویسی رویدادمحور، تابعی، و تفسیری (شامل شیءگرا و مبتنی بر پروتوتایپ) پشتیبانی میکند. این زبان برنامهنویسی اولین بار در سال 1995 معرفی شده و نگهداری از آن اینک به طور رسمی بر عهده بنیاد غیرانتفاعی موزیلا (Mozilla) قرار دارد. ما در مجله فرادرس در طی یک سری مطالب با موضوعات مختلف و متنوع اقدام به بررسی و آموزش جاوا اسکریپت از چشماندازهای گوناگون کردهایم که فهرستی از این نوشتهها در ادامه ارائه شده است:
در این نوشته به معرفی انواع مختلف متغیرها در جاوا اسکریپت، روش مقداردهی آنها، اعلان اولیه و روشهای مناسب برای نامگذاری متغیرها در جاوا اسکریپت پرداختهایم.
در این مقاله، آموزش حلقه for در جاوا اسکریپت به همراه مثال بهطور جامع و کاربردی ارائه شده است. در این نوشتار، گزارههای for...of و for...in ، دستورهای break و continue به همراه متُد forEach() که از جمله عناصر کلیدی زبان برنامه نویسی جاوا اسکریپت هستند نیز شرح داده شدهاند و مثالهایی برای آنها ارائه شده است.
منظور از الگوی طراحی در مهندسی نرمافزار راهحلی با قابلیت استفاده مجدد برای مسائل با رویداد مکرر در هنگام طراحی نرمافزار است. در این نوشته به بررسی دلایل استفاده از الگوهای طراحی و معرفی انواع آن پرداختهایم. الگوهای ماژول، ماژول افشایی، ماژول ES6، الگوی سینگلتون، الگوی Factory و الگوی دکوراتور از جمله الگوهایی هستند که در مقاله فوق معرفی شدهاند.
شیء مجموعهای از دادهها و یا کارکردهای مرتبط است که معمولاً شامل چند متغیر و تابع هستند. این متغیرها و تابعها وقتی داخل شیء هستند، مشخصات و متدها نامیده میشوند. اشیاء در جاوا اسکریپت همانند شیءهای دنیای واقعی هستند. آنها مشخصاتی دارند، در برخی موارد میتوانند کاری انجام دهند و اغلب اوقات نیز شیءهای دیگری را بسط میدهند. در مقاله فوق به بررسی مفاهیم ابتدایی شیء روش تعریف شیء، معرفی مفهوم this و تابعهای arrow و همچنین معرفی مفهوم پروتوتایپ و ساختار کلاس پرداختهایم.
در این راهنما متدهای مهم داخلی شیء جاوا اسکریپت بررسی شدهاند. در هر یک از بخشهای این نوشته یک متد خاص بررسی شده و نمونهای از کاربرد آن توضیح داده شده است. از جمله متدهای معرفی شده در این مقاله شامل ()Object.create برای ایجاد شیء، ()Object.keys برای ایجاد آرایهای از کلیدهای شیء، ()Object.values برای ایجاد آرایه از مقادیر شیء، ()Object.entries برای ایجاد آرایهای از جفتهای کلید/مقدار، ()Object.assign برای کپی مقادیر شیء، ()Object.freeze برای قفل کردن مقادیر یک شیء، ()Object.seal برای جلوگیری از اضافه شدن خصوصیت به شیء و ()Object.getPrototypeOf برای دریافت پروتوتایپ شیء هستند.
در این نوشته به بررسی متدهای مختلف جاوا اسکریپت برای دستکاری آرایهها پرداختهایم. در این مقاله متدهای ()slice() ،splice و ()split در جاوا اسکریپت معرفی شده و تفاوت آنها بیان شده است.
منطق شرطی در هر زبان برنامهنویسی از اهمیت بالایی برخوردار است و جاوا اسکریپت نیز این قاعده مستثنی نیست. در مقاله فوق به معرفی مقادیر درست/نادرست در جاوا اسکریپت پرداختهایم. سپس عملگرهای منطقی، و جدولهای درستی شامل جدول نفی، عطف، فصل، استلزام، و دوشرطی برای این عملگرها معرفی شدهاند. مباحثی مانند اتصال کوتاه، تقدم عملگرها، قواعد جایگزینی و منطق مجموعهها از جمله مواردی هستند که در مقاله جامع فوق مورد بررسی قرار گرفتهاند. همچنین قواعد منطق شرطی مورد بحث به زبان محاوره نیز ترجمه شدهاند. در انتها با ارائه مثالهایی، کاربرد عملی گزارهها و عبارتهای شرطی ارائه شده است.
در این مقاله عبارتهای شرطی جاوا اسکریپت معرفی شدهاند. عبارتهای شرطی جنبه بسیار مهمی از ساختار هر زبان برنامهنویسی محسوب میشوند. این عبارتها برای تصمیمگیری در برنامهها بسیار مهم هستند. در نوشته فوق فرق عبارت با گزاره، شرطها و مقادیر بولی، مفهوم اتصال کوتاه جایگزینی عبارتها با گزارهها و همچنین برخی نکات و عملگرهای سهتایی معرفی شدهاند.
تابع به بیان کلی یک «زیر برنامه» است که میتواند به صورت داخلی (در صورت برنامهنویسی بازگشتی) یا خارجی از سوی کد فراخوانی شود. تابع از یک سری عبارتهایی تشکیل مییابد که بدنه تابع نامیده میشوند. مقادیر مختلف را میتوان به یک تابع ارسال کرد و تابع نیز میتواند یک مقدار را بازگرداند.
در مقاله فوق به معرفی تابعهای جاوا اسکریپت پرداختهایم. همچنین انواع تابعها، تابعهای بازگشتی، تابع فراخوانی شده (IIFE) و ارتباط بین شیءها و تابعها معرفی شدهاند. در ادامه انواع متدها معرفی شده و دلیل استفاده از پروتوتایپ برای متدهای وهلهای توضیح داده شده است. همچنین مفاهیم سینگلتون و کلوژر ارائه شدهاند.
تقریباً سه سال از زمانی که تابعهای arrow به جاوا اسکریپت اضافه شدهاند، میگذرد و این توابع به یکی از محبوبترین ویژگیهای این زبان برنامهنویسی تبدیل شدهاند. در نوشته فوق به معرفی این نوع توابع، مزایا و معایب و ساختار آنها پرداختهایم. همچنین پارامترها، مقادیر بازگشتی، و انواع آنها معرفی شده است.
جدول هش یا Hash table یکی از اساسیترین مفاهیم برنامهنویسی محسوب میشود و در زبان برنامهنویسی جاوا اسکریپت نیز نقش مهمی دارد. در نوشته فوق به توضیح مبانی جدول هش و مفهوم پیچیدگی عملیات پرداخته شده و سپس روش ساحت یک جدول هش توضیح داده شده است. همچنین مبحث تصادم معرفی شده و انواع روشهای مختلف برای ساخت جدول هش با هم مقایسه شدهاند.
جیسون معادل اختصاری عبارت JavaScript Object Notation به معنی «نمادگذاری اشیا در جاوا اسکریپت» است. جیسون یک قالب استاندارد باز است که امکان تبادل دادهها در وب با استفاده از جفتهای خصوصیت-کلید را ممکن ساخته است. در نوشته فوق به توضیح مفاهیم جیسون، مزیتها، و نمود آن پرداختهایم.
جاوا اسکریپت و پایتون هر دو جزو زبانهای برنامهنویسی بسیار محبوب به حساب میآیند. در نوشته فوق روش راهاندازی یک سرور و نصب پایتون و سپس برقراری ارتباط بین جاوا اسکریپت با پایتون توضیح داده شده است.
جاوا اسکریپت زبان بسیار محبوبی به حساب میآید و فناوریهای مختلفی برای تسهیل کدنویسی به این زبان ارائه شدهاند، اما از کجا میتوانیم بدانیم آیا یک فناوری، ارزش سرمایهگذاری دارد یا نه؟ در نوشته فوق به بررسی کتابخانههای جدید و ابزارهای مختلفی که افراد برای توسعه کد جاوا اسکریپت استفاده میکنند، پرداخته شده و دلیل استفاده آنها نیز مورد بررسی قرار گرفته است. در این نوشته یک سیستم امتیازبندی برای رتبهبندی فریمورکها و کتابخانههای جاوا اسکریپت معرفی شده است که با آن میتوانید درک کنید آیا یک فناوری ارزش صرف وقت برای یادگیری و کسب مهارت را دارد یا خیر.
در این نوشته به معرفی کتابخانه کارآمد ProgressBar.js برای ایجاد نوارهای پیشرفت وضعیت در جاوا اسکریپت پرداخته شده است. زمانی که این کتابخانه را در پروژه خود گنجاندید، میتوانید یک نوار پیشرفت را با استفاده از این کتابخانه به سادگی ایجاد کنید. همچنین مواردی در خصوص ایجاد انیمیشن و ایجاد نوار پیشرفت با شکلهای خاص ارائه شدهاند.
- بهینهسازی کدهای جاوا اسکریپت در سال ۲۰۱۸ — راهنمای جامع (بخش اول)
- بهینهسازی کدهای جاوا اسکریپت در سال ۲۰۱۸ — راهنمای جامع (بخش دوم)
در دو مقاله فوق به طور جامع و تفصیلی به روش کدنویسی صحیح و بهینهسازی کدهای جاوا اسکریپت پرداخته شده است. در این نوشتهها روش کاهش هزینه اجرای کدهای جاوا اسکریپت، بهینهسازی برای پلتفرم موبایل، و متناسبسازی کد برای سرعتهای مختلف شبکه معرفی شدهاند. کاهش حجم کد، افراز کد، اندازهگیری و نظارت روی کدها مواردی هستند که در ادامه مقالات فوق ارائه شدهاند.
جاوا اسکریپت زبانی است که در ابتدا صرفاً در مرورگرهای وب جاسازی شده بود؛ اما امروزه موتورهای جاوا اسکریپت مختلف در نرمافزارهای مختلف دیگری مانند وبسرورهای سمت سرور و پایگاههای داده و همچنین در برنامههای غیر وب مانند پردازشگرهای کلمه و نرمافزارهای PDF نیز جاسازی شدهاند. همچنین از آن در محیطهای زمان اجرایی استفاده میشود که امکان نوشتن اپلیکیشنهای موبایل و دسکتاپ را فراهم ساختهاند. با این که جاوا و جاوا اسکریپت از نظر نامگذاری شبیه هم هستند، اما از منظرهای مختلف با هم تفاوتهای اساسی دارند. جاوا اسکریپت به عنوان یک زبان برنامهنویسی مورد استفاده در وب جایگاه بسیار بالایی از نظر شاخصهای مختلف در دنیای برنامهنویسی دارد.
اگر این نوشته برای شما مفید بوده است، آموزشهای زیر به شما پیشنهاد میشوند:
- مجموعه آموزشهای طراحی و برنامه نویسی وب
- آموزش جاوا اسکریپت (JavaScript)
- مجموعه آموزشهای برنامهنویسی
- ۱۰ کتابخانه و فریمورک جاوا اسکریپت که باید آنها را بشناسید — قسمت اول
- جاوا اسکریپت و توسعه وب — راهنمای استفاده از مدل شیء سند (DOM)
- چگونه برنامه نویس وب شویم؟ – بخش اول: فرانتاند (FrontEnd)
- ایجاد برگه واکنش گرا (Responsive Tab) با CSS و جاوا اسکریپت — راهنمای گام به گام
==