آشنایی با زبان جاوا اسکریپت (JavaScript)

جاوا اسکریپت (JavaScript) یک زبان برنامه نویسی است که برای بسیاری از افرادی که علاقهمند به یادگیری برنامه نویسی و طراحی وب هستند، سوالی پیش میآید. همانند دنیای واقعی، در دنیای برنامه نویسی نیز با زبانهای مختلفی روبرو هستیم که هر کدام مزایا و معایب خاص خود را دارند. در این مقاله از پورتال جامع مهندسین ایران، ما قصد داریم یکی از زبانهای محبوب در این حوزه، یعنی جاوا اسکریپت را به شما معرفی کنیم. اگر شما به یادگیری جاوا اسکریپت علاقهمندید و میخواهید درباره آن و کاربردها و ویژگیهای آن بیشتر بدانید، ما در این مقاله با شما همراه خواهیم بود.
جاوا اسکریپت چیست؟
جاوا اسکریپت به طور ساده میتواند به عنوان یک زبان برنامه نویسی سطح بالا برای ساخت صفحات وب پویا و تعاملی تعریف شود. ماموریت اصلی این زبان، بهبود تعامل و تجربه کاربران و بازدیدکنندگان وب است، و این را با ایجاد اجزایی مانند منوهای کشویی، عناصر گرافیکی، تغییرات پویای رنگ پسزمینه و موارد مشابه دنبال میکند.
جاوا اسکریپت به عنوان یک زبان برنامه نویسی محبوب در حوزههای مختلف فناوری و اینترنت، از جمله توسعه و برنامهنویسی وب، توسعه بازی، ساخت وب اپلیکیشن، برنامه نویسی سمت سرور و غیره، استفاده میشود. همانطور که پیشتر گفته شد، جاوا اسکریپت کمک میکند تا تعامل بین کاربر و صفحات وب به بهترین شکل ممکن انجام شود و این تنها با استفاده از عناصر HTML و CSS امکانپذیر نیست. در حال حاضر، بسیاری از مرورگرها، برای عملکرد اصلی خود از جاوا اسکریپت به عنوان زبان برنامه نویسی اصلی استفاده میکنند، حتی مرورگرهایی که قدیمی هستند. با استفاده از جاوا اسکریپت، تجربه کاربری بینظیری برای کاربران وب فراهم میشود.
تاریخچه جاوا اسکریپت (JavaScript)
جاوا اسکریپت در سال ۱۳۷۳ شمسی (۱۹۹۵ میلادی) توسط برندان ایچ در زمانی که او به عنوان یک مهندس نرمافزار در شرکت Netscape مشغول به کار بود، ایجاد شد. Netscape یک شرکت آمریکایی است که در حوزه ارائه نرمافزارهای اینترنتی فعالیت میکند. در ابتدا، این زبان با نام LiveScript شناخته میشد، اما بلافاصله پس از آن تغییر نام داد و اکنون به عنوان جاوا اسکریپت شناخته میشود.
برخلاف بسیاری از زبانهای برنامهنویسی رایج، جاوا اسکریپت مفهوم ورودی یا خروجی را ندارد. این زبان به عنوان یک زبان برنامهنویسی در محیط میزبان طراحی شده است و وابسته به محیط میزبان است که چه مکانیزمهایی برای برقراری ارتباط با دنیای خارج را فراهم میکند. مرورگر به عنوان محیط میزبان رایجترین استفادهکننده از جاوا اسکریپت است.
نحوه کار وب بدون جاو اسکریپت چگونه است؟
ممکن است کاربران سؤال کنند که دقیقاً نقش جاوا اسکریپت چیست و آیا وب به معنای امروزی بدون آن وجود خواهد داشت. بدون جاوا اسکریپت، تنها عناصر موجود در وب محدود به HTML و CSS خواهند بود. در بیشتر موارد، صفحات ساخته شده با این دو عنصر، صفحات ایستا و ثابت خواهند بود. تغییرات کمی که کاربران ممکن است ببینند، معمولاً مربوط به تغییرات انیمیشنهای CSS است. به طور کلی میتوان گفت که HTML و CSS ساختار صفحات وب را تشکیل میدهند و جاوا اسکریپت راهبرد و عملکرد صفحات را تعیین میکند.
HTML به عنوان زبان نشانهگذاری، ساختار صفحه وب و محتوا را تعریف میکند. CSS سبکهای مختلف را برای محتواهای موجود در صفحه وب تعیین میکند و آنها را زیبا میکند. HTML و CSS اغلب به عنوان زبانهای نشانهگذاری شناخته میشوند، در حالی که جاوا اسکریپت یک زبان برنامه نویسی است. جاوا اسکریپت قابلیت پشتیبانی از محاسبات ریاضی را دارد و به کاربران این امکان را میدهد که به صورت پویا محتویات HTML را به DOM اضافه کنند، رویدادهای پویا ایجاد کنند، محتوا را از وبسایتهای دیگر دریافت کنند و بسیاری از وظایف دیگر را انجام دهند.
شی گرایی در جاوا اسکریپت به چه معنی است؟
شی گرایی در برنامه نویسی یک الگو و رویکرد تفکر است. در برنامه نویسی شی گرا، رویکرد Bottom-Up به کار میرود، به این معنی که ابتدا واحدهای کوچک برنامه ساخته میشوند و با اتصال این واحدهای کوچک به یکدیگر، واحدهای بزرگتر شکل میگیرند و برنامه به تدریج کاملتر میشود. برنامه نویسی شی گرا دو مفهوم اصلی، کلاس و شی، را معرفی میکند.
شی گرایی در برنامه نویسی قادر است به شما کمک کند تا مشکلات مختلف را حل کرده و فرآیند کدنویسی را سادهتر کند. از آنجایی که مفاهیم شی گرایی با دنیای واقعی در ارتباط نزدیکی هستند، درک آن برای برنامه نویسان آسان خواهد بود. در شی گرایی، به جای دست و پنجه نرمکردن با تعداد زیادی متغیر و توابع، مستقیماً با اشیا کار میکنید. برای بهتر فهمیدن این موضوع، میتوانیم با یک مثال آن را توضیح دهیم.
فرض کنید یک کارگاه داریم که دستگاههای تولیدی مختلفی در آن وجود دارد. این کارگاه را میتوان در نظر گرفت به عنوان یک کلاس. هر دستگاه در این کارگاه یک محصول متفاوت تولید میکند که میتوان آنها را به عنوان شیها در نظر گرفت. اگر مشکلی در محصولات پیش بیاید یا نیاز به تغییر در آنها داشته باشیم، نیازی به تخریب کارگاه و ساختن آن از ابتدا نخواهیم داشت.
به عنوان مثال، اگر محصولی که تولید میشود کیک باشد، زمانی که میخواهیم کیک شیرینتری داشته باشیم، نیازی به تغییر کارگاه یا دستگاهها نداریم. کافیست کمی شکر به خمیر کیک اضافه کنیم. این دقیقاً همان اتفاقی است که در برنامه نویسی شی گرا رخ میدهد.
جاوا اسکریپت یا JS دقیقا چه کارهایی برای ما انجام میدهد؟
همانطور که در پاسخ به سوال جاوا اسکریپت چیست گفتیم، جاوا اسکریپت به ما کمک میکند که صفحات وب داینامیک داشته باشید. منظورمان از صفحات وب داینامیک، صفحاتی هستند که همیشه ثابت نیستند و المان هایی در آنها تغییر پیدا میکند.
شما با استفاده از JavaScript یا JS میتوانید کارهای فوق العاده زیاد و متفاوتی انجام دهید. لیست برخی از این کارها را در زیر برای شما آوردهام که دقیقا متوجه شوید که جاوا اسکریپت چیست و چه کاری انجام میدهد. شما با استفاده از JavaScript میتوانید:
- انیمیشن های گرافیکی بسازید
- اسلایدر عکس داشته باشید
- فرم های ورودی کاربر را کنترل کنید و برای مثال چک کنید که کلمه عبور کاربر حداقل ۵ حرف داشته باشد
- تعیین کنید که وقتی کاربر روی یک المان کلیک کرد، یک اتفاق خاص بیفتد
- تگ های HTML را اضافه یا کم کنید و یا در آن تغییراتی ایجاد کنید
- به رفتارهای کاربر عکس العمل نشان دهید
- استایل ها، رنگ ها، اندازه ها و بطور کلی کدهای CSS را عوض کنید
- به کاربران پیام های خطا یا موفقیت آمیز نشان دهید
- منوهایی بسازید که وقتی کاربر موس خود را روی آنها برد، باز شوند
- محاسبات ریاضی انجام دهید
- IP کاربر را پیدا کنید
- مرورگر کاربر و نسخهی آن را متوجه شوید
- سیستم عامل کاربر که ویندوزی است یا لینوکسی را درک کنید
- بفهمید که کاربر با موبایل در حال مشاهدهی صفحهی وب شماست یا دسکتاپ
- و صدها کار مختلف و خلاقانهی دیگر
آیا یادگیری جاوا اسکریپت سخت است؟
حالا که با Java Script اشنا شدیم و فهمیدیم که جاوا اسکریپت چیست و چه کارهایی میتواند برای ما انجام دهد، ممکن است این ذهنیت برای شما پیش بیاید که یادگیری آن بسیار سخت خواهد بود. اما هرگز این چنین نیست.
نکتهای که در خصوص تمام زبان های برنامه نویسی وجود دارد این است که همهی آنها منطق یکسانی دارند، تنها چیزی که در آنها متفاوت است، شکل نوشتاری یا اصطلاحا Syntax آنها میباشد. اگر شما منطق کلی برنامه نویسی را درک کرده باشید، یادگیری زبان های برنامه نویسی مختلف، برای شما زحمت زیادی نخواهد داشت.
جاوا اسکریپت هم دقیقا به همین صورت است. اگر شما منطق کلی برنامه نویسی را درک کرده باشید، یعنی بدانید که متغیر چیست، تابع چیست، حلقهی ها در برنامه نویسی چکار میکنند و یا شرط ها در برنامه نویسی به چه شکل هستند، یادگیری جاوا اسکریپت هم برای شما سخت نخواهد بود. فقط کافی است که روش نوشتاری (Syntax) آنرا یاد بگیرید و با کاربرد های آن آشنا شوید.
جاوا اسکریپت، دنیایی از کتابخانه ها و ابزارها
در ادامهی پاسخ به سوال جاوا اسکریپت چیست باید بگوییم که یکی از ویژگی هایی که جاوا اسکریپت را بسیار متمایز و خاص میکند، کتابخانه ها و ابزارهایی است که برای جاوا اسکریپت وجود دارد.
یکی از این کتابخانه ها به نام جی کوئری را در بالا معرفی کردیم. اما کار اینجا تمام نمیشود! میتوانند برای شما انجام دهند!
- شما با استفاده از React Native میتوانید اپلیکیشن های موبایلی با جاوا اسکریپت بسازید!
- با استفاده از Node Js میتوانید برنامه نویسی سمت سرور را با جاوا اسکریپت انجام دهید!
- فریم ورک Angular و کتابخانهی React نیز دو ابزاری هستند که سایت های بسیار بزرگی در جهان با کمک آنها نوشته شده است که به سرعت در جهان در حال رشد هستند.
آیا جاوا و جاوا اسکریپت یکی هستند؟
یکی از اشتباهاتی که معمولا افراد تازه کار به آن دچار میشوند این است که زبان برنامه نویسی جاوا (Java) را با جاوا اسکریپت (Java Script) یکی میدانند.
این دو زبان برنامه نویسی بغیر از تشابه اسمی، هیچ شباهت دیگری به هم ندارند و کارکردهایشان کاملا متفاوت است. در آینده یک آموزش کامل دربارهی تفاوت Java Script و Java در یادیفای منتشر خواهیم کرد.