آشنایی با جاوا اسکریپت و چگونگی کارکرد آن یکی از اهداف علاقه مندان به برنامه نویسی و طراحی وب است. همان طور که میدانید در برنامه نویسی هم مانند دنیای واقعی زبانهای مختلفی وجود دارد. هرکدام از این زبانهای برنامه نویسی، مزایا و معایب ویژه خود را دارند. در این مقاله قصد داریم به طور کامل شرح دهیم که جاوا اسکریپت Javascript چیست و چه کاربردی دارد. چنان چه مایل هستید با یادگیری جاوا اسکریپت وارد دنیای بی حد و مرز و البته جذاب برنامه نویسی شوید، پیشنهاد میکنیم تا انتهای این مقاله همراه فرتاک باشید.
جاوا اسکریپت Javascript چیست؟
جاوا اسکریپت Javascript که به اختصار به JS هم معروف است، یکی از محبوبترین زبانهای برنامه نویسی میباشد. این زبان سطح بالا، شی گرا و تفسیری است و از شیوههای مختلف برنامه نویسی نیز پشتیبانی میکند. این زبان در حوزههای برنامه نویسی سمت سرور، اپلیکیشنهای موبایل، بازی، نرم افزارهای دسکتاپ و طراحی و راه اندازی سایت استفاده میشود. به عبارت دیگر با یادگیری جاوا اسکریپت Javascript به یک زبان همه فن حریف تسلط پیدا خواهید کرد.
این زبان حرفهای برنامه نویسی را اولین بار شرکت Netscape با نام اولیه LiveScript برای استفاده در دنیای وب، روانه بازار کرد. پس از آن با حمایت شرکت Sun Microsystems با نام جدید جاوا اسکریپت شناخته شد. این زبان درواقع جزو زبانهای اسکریپت نویسی محسوب میشود و عمدتا با کدهای HTML در ارتباط است. هرچند که سازنده این زبان نت اسکیپ است، اما به سیستم عامل خاصی وابسته نیست و در مرورگرهای زیادی از جمله Internet Explorer۴ و نسخههای بعدی مایکروسافت نیز قابل اجرا است.
کاربرد جاوا اسکریپت Javascriptچیست؟
در این قسمت از مقاله قصد داریم که به شما بگوییم کاربردهای Javascript چیست؟ یکی از کاربردهای اصلی زبان حرفهای جاوا اسکریپت، طراحی اپلیکیشنهای موبایل است. این زبان دارای فریمورکهای متعددی است که از بهترین آنها میتوان به React و angular اشاره کرد. علاوه بر آن کاربردهای متعدد دیگری برای این زبان تعریف شده است که در ادامه هرکدام از آنها را معرفی خواهیم کرد.
اضافه کردن رفتار تعاملی به صفحات وب
زبان جاوا اسکریپت این امکان را در اختیار کاربران خود قرار میدهد تا بتوانند با صفحات وب ارتباط برقرار کنند. تقریبا میتوان گفت که هیچ محدودیتی برای کارهایی که میتوانید با استفاده از این زبان، در یک صفحه وب انجام دهید، وجود ندارد. چند مورد از قابلیتها و کاربردهای این زبان در زمینه اضافه کردن رفتار تعاملی در وبسایتها عبارتند از:
- نمایش یا پنهان کردن اطلاعات اضافه با کلیک یک دکمه
- تغییر رنگ دکمه موردنظر با قرار گرفتن ماوس بر روی آن
- نمایش تصاویر به حالت اسلاید در صفحه اصلی وب
- قابلیت زوم کردن بر روی تصاویر
- نمایش انیمیشنها
- پخش فایل صوتی و تصویری در یک صفحه
ساخت وب سرورها و توسعه برنامههای کاربردی سرور
به جز طراحی سایت و کدنویسی برنامههای کاربردی، از این زبان میتوان برای ساخت وب سرورهای ساده و توسعه زیرساختهای بک- اند استفاده کرد.
Javascript یا PHP؟
یکی از سوالاتی که برنامه نویسان با آن روبرو هستند، این است که استفاده از کدام یک از زبانهای برنامه نویسی میتواند نتیجه مطلوبتری را به وجود آورد؟ در این بخش از مقاله در این باره صحبت خواهیم کرد. بررسی آمارها نشان میدهد که امروزه بیش از ۹۵ درصد وبسایتها در حال استفاده از جاوا اسکریپت هستند. در ابتدا به قابلیتهایی که Javascript در اختیار کاربران قرار میدهد اشاره میکنیم:
- برای نوشتن کد سمت سرور میتوان از پلتفرمهایی مانند js استفاده کرد.
- با ترکیب HTML۵، جاوا اسکریپت و CSS۳ قادر به ایجاد صفحات وب ریسپانسیو خواهید بود.
- فریمورکهای متعددی برای استفاده از جاوا اسکریپت وجود دارند که استفاده از آنها زمان ایجاد سایت و برنامه را کاهش میدهند.
- ایجاد برنامههای وب در مقیاس بزرگ بسیار راحت است.
علاوه بر آنچه که گفته شد، استفاده از PHP در زمان ساخت یک وبسایت تکامل یافته، میتواند بسیار مفید باشد. کدنویسی با استفاده از این زبان بسیار آسان است و به صورت رایگان در اختیار کاربران قرار داده میشود. همچنین قابلیت اجرای این زبان برنامه نویسی بر روی تمامی پلتفرمها، سبب افزایش محبوبیت PHP شده است. بنابراین اگر با برنامه نویسی شی گرا مشکلی ندارید و به طور کامل با کتابخانهها و فریمورکها آشنا هستید، زبان PHP میتواند انتخاب مناسبی برای شما باشد.
به صورت کلی نمیتوان به یقین گفت که کدام یک از این زبانها بر دیگری برتری دارد. به همین منظور برای انتخاب بهترین زبان برنامه نویسی باید ویژگیهای هریک از آنها را بررسی کنید و مطابق تواناییها و نیاز بازار، زبان مورد نظرتان را انتخاب کنید.
جاوا اسکریپت Javascript و جی کوئری چه تفاوتی با یکدیگر دارند؟
یکی دیگر از سوالاتی که برنامه نویسان در ابتدای راه خود با آن روبرو میشوند، این است که آیا جاوا اسکریپت و جی کوئری یکسان هستند؟ تفاوت جی کوئری و جاوا اسکریپت Javascriptچیست؟ همان طور که در ابتدای مقاله توضیح داده شد، جاوا اسکریپت یک زبان برنامه نویسی شی گرا است؛ در صورتی که jQuery یک کتابخانه از جاوا اسکریپت است. این کتابخانه به گونهای طراحی شده است که روش کدنویسی جاوا اسکریپت را تغییر دهد. تمام کدهایی که در جی کوئری نوشته میشود، جاوا اسکریپت است، اما جی کوئری شامل تمامی کدهای جاوا اسکریپت نمیشود!
نکتهای که درمورد این دو موضوع وجود دارد این است که آنها دو زبان برنامه نویسی نیستند، بلکه هردوی آنها به نوعی جاوا اسکریپت هستند، با این تفاوت که jQuery تنها برای انجام وظایف اسکریپت با خطوط کمتری بهینه سازی شده است.
جاوا اسکریپت چگونه کار میکند؟
هنگامی که یک مرورگر شروع به بارگذاری یک صفحه وب میکند، تجزیه کننده شروع به اجرای کدهای HTML کرده و مدل شی گرا متن برنامه ایجاد میشود. پس از آن نوبت به CSS یا جاوا اسکریپت میرسد که یک کدام از این ابزارها باید کدهای مربوطه را اجرا کنند. موتور جاوا اسکریپت فایلهای خارجی و کدهای داخلی برنامه را بارگذاری کرده، اما هیچکدام از کدها را اجرا نمیکند. پس از اینکه اجرای کدهای Html و CSS کامل شد، تمامی کدها و هر آنچه که به جاوا اسکریپت مربوط است، اجرا میشود. نتایج حاصل از این فرآیند در DOM آپدیت شده و توسط مرورگر به نمایش درمیآید.
حال که با این زبان برنامه نویسی به خوبی آشنا شدید؛ قصد داریم در ادامه این مطلب درمورد مزایا و معایب جاوا اسکریپت صحبت کنیم.
مزایا و نقاط قوت جاوا اسکریپت
مزایای این زبان عبارت است از:
سادگی و آسان بودن
نوشتن، کار کردن و درک JavaScript ساده است و رفع اشکال از کدهای این زبان نیز به راحتی میسر میشود. از سوی دیگر، نسبت به زبانهای پیچیدهای همچون C و C ++ دارای موارد دشوار نیست.
برخورداری از امنیت بالا
کاهش ریسکهای امنیتی و انواع تهدیدها از دیگر ویژگیهای JavaScript میباشد که به دلیل عدم استفاده از اشارهگرهای صریح، ایجاد شده است. کارکرد اشارهگرها در این زبان، این است که میتوانند آدرس حافظههای غیر مجازی که به حافظه اصلی حمله میکنند را ذخیره نمایند. علاوه بر آن، برای استفاده از کلاسها در جاوا اسکریپت نیز میتوان قوانین مختلفی را از سوی مدیر امنیت هر برنامه ایجاد نمود.
شئ گرا بودن
به زبان ساده، شئگرا بودن یعنی مخفی کردن تمام جزئیات پیچیده یک برنامه. بر همین اساس، جاوا اسکریپت با داشتن این ویژگی مثبت، استفاده دوباره از کدها را برای شما فراهم میآورد. از سوی دیگر شئ گرا بودن به انعطاف بیشتر این زبان کمک فراوانی کرده است.
جالب است بدانید که شئ گرایی جاوا اسکریپت، عامل افزایش امنیت برنامه نیز میباشد. در ادامه به تفصیل راجع به این مفهوم و قابلیتهای آن، صحبت کردهایم.
قابل حمل بودن در شبکه
از آنجایی که JavaScript دارای ویژگی استقلال و قابلیت اجرا روی پلتفرمهای مختلف است، قابل حمل میباشد. از سوی دیگر، این زبان توانایی حمل را نیز دارد چرا که قادر است به انواع مختلفی از پلتفرمها منتقل شده و اجرا شود.
از دیگر مزایای JavaScript میتوان به موارد زیر اشاره نمود:
- یک زبان چند رشتهای است که باعث میشود بالاترین میزان بهره گیری از CPU را داشته باشید.
- در مقایسه با زبانهای برنامه نویسی دیگر، این زبان از ثبات و پایداری بیشتری برخوردار است.
- با توزیع دادهها و برنامههای مختلف میان چند سیستم، باعث بهبود عملکرد سیستمها میشود.
- با تقسیم حافظه به دو بخش Heap Area و Stack Area، باعث افزایش کارامدی حافظه میشود.
معایب و نقاط ضعف جاوا اسکریپت
همانطور که در پاراگرافهای قبل اشاره کردیم، JavaScript علاوه بر مزایای متعدد، دارای معایب مختلفی نیز میباشد. با این حال، بهتر است پیش از شروع یادگیری این زبان، به طور کامل راجع به نقاط قوت و ضعف جاوا اسکریپت مطالعه کنید. در ادامه برخی از معایب این زبان را معرفی میکنیم.
نیاز به فضای بسیار زیاد برای ذخیره سازی
حافظه مورد نیاز زبان JavaScript، نسبت به زبانهایی مثل سی پلاس پلاس بسیار بیشتر است و حتی در زمان جمع کردن زباله نیز عملکرد سیستم را دچار اختلال و کندی سرعت میکند.
عملکرد با سرعت پایین
جاوا اسکریپت، به دلیل مصرف بالای حافظه، سرعت بسیار کمی دارد و حتی از زبانهای C یا C ++ نیز آهستهتر عمل میکند.
عدم ارائه پشتیبانگیری
عمده فعالیت JavaScript، بر ذخیره سازی متمرکز است و متأسفانه دارای قابلیت پشتیبان گیری نمیباشد و این در حالی است که باعث میشود در میان کاربران جایگاه خود را از دست بدهد.
آشنایی با نحوه کار کردن جاوا اسکریپت
بهتر است بدانید که کدهای این زبان، در ۴ قسمت زیر و به صورت فایلهای خارجی و یا فایلهای دارای پسوند js فراخوانی میشوند:
- Body
- Head
- Html
- در فایل خارجی
البته، اگر این زبان در صفحات بسیار زیادی استفاده شده باشد، معمولا به صورت یک فایل خارجی به کار میرود.
قسمت head صفحه
در اغلب موارد، قسمت head صفحه، محل قرار گرفتن توابع JavaScript است. به این صورت که تگ <script> در میان دستورات اولیه و پایانی قرار داده میشود.
در قسمت body صفحه
معمولا، اسکریپتهای آماری و شمارنده در قسمت body قرار گرفته و همزمان با لود شدن صفحه، به صورت مستقیم نیز اجرا میشوند.
{اسکریپت یک قطعه برنامه کوچک است که از قابلیت افزودن تعامل به سایت برخوردار است}
در سند HTML
به منظور افزایش پویایی سایت، باید کدهای JavaScript را به صورت مستقیم داخل یک سند html بنویسید. بر همین اساس، کدهای جاوا اسکریپت بین دو تگ <script> و </script> قرار میگیرند.
در فایلهای خارجی (External)
فایلهای خارجی دارای پسوند js که حاوی اسکریپتهایی ارجاع شده از سوی یک سند html باشند، قابلیت پشتیبانی توسط زبان جاوا اسکریپت را دارند.
شئ گرایی در جاوا اسکریپت Javascriptچیست و چه مفهومی دارد؟
همانطور که میدانید، شئ گرایی یکی از ویژگیهای بارز JavaScript است و هنگامی میتوانیم یک زبان برنامه نویسی را شئ گرا بدانیم که ۴ قابلیت زیر را برای برنامه نویسان فراهم کند.
این توانمندیها عبارتند از:
- Aggregation یا تجمیع: به قابلیت ذخیره کردن یک شئ درون شئ دیگر گفته میشود.
- Polymorphism یا چند ریختی: یعنی قابلیت نوشتن تابع به گونهای که بتواند در روشهای مختلف کار کند.
- Encapsulation یا کپسوله سازی: به آن مخفی کردن اطلاعات نیز گفته میشود. در اینجا اطلاعات حساس از دید کاربران پنهان میشوند و فقط اطلاعاتی که توسعه دهنده تشخیص دهد برای کاربر نمایش داده میشود.
- Inheritance یا ارث بری: قابلیت تعیین یک کلاس به عنوان فرزند و یک کلاس با عنوان والد که در انتها کلاس فرزند قادر است به کلیه اطلاعات و دادههای کلاس والد دسترسی داشته باشد. برای اجرایی کردن این فرایند، از کلمه کلیدی extends استفاده میشود. به عبارت دیگر، بعد از اسم کلاس فرزند، باید کلمه extends را بنویسید.
برای درک بهتر قابلیتهای شئ گرا بودن زبان جاوا اسکریپت، بهتر است ابتدا بدانید که در برنامه نویسی به هر نوع موجودیتی که دارای مجموعهای از ویژگیهای مختلف باشد شئ (اشیاء) گفته میشود.
بنابراین، برای ایجاد یک برنامه، باید اطلاعات و دادههای اشیاء خارج از سیستم را به درستی وارد سیستم کنید. به عنوان مثال، شما برای سیستم یک مدرسه، باید اطلاعات متعددی همچون اطلاعات دانش آموزان، معلمان، پرسنل مدرسه، برنامه دروس و… را در اختیار داشته و آنها را ذخیره کنید.
بر همین اساس، مفهوم شئ گرایی در برنامه نویسی زمانی ایجاد شد که توسعه دهندگان متوجه شدند برای بهبود کار خود باید با یک دید جامع به اشیاء موجود در بیرون نگاه کنند. علاوه بر آن، ، همه اشیاء دارای صفات گوناگونی هستند که برای درک بهتر آنها باید به رفتارهایشان نیز توجه کنید.
منظور از صفت، همان ویژگیهای متنوعی است که هر شئ را توسط آنها میشناسیم. مثلا برای مدرسه ویژگیهایی مثل نام، انداره، تعداد کلاس، نام مدیر و… را میتوان در نظر گرفت. از سوی دیگر، همانطور که اشاره کردیم برای ذخیره سازی دادهها باید رفتار آن شئ را نیز به درستی تشخیص دهید.
در انتها، هر دوی آنها (صفت و رفتار) در قالب class در یک برنامه معرفی میشوند.
جمع بندی نهایی
در این مقاله درباره این موضوع که جاوا اسکریپت Javascript چیست، صحبت کردیم و کاربرد آن را توضیح دادیم. همان طور که گفته شد جاوا اسکریپت یک زبان سطح بالا و مفسری است که از آن میتوان هم برای برنامه نویسی سمت سرور و هم سمت کاربر استفاده کرد، اما در گذشته قلمروی این زبان تنها به برنامه نویسی سمت کاربر محدود میشد. امیدواریم این مقاله برای شما کاربردی بوده باشد. به نظر شما زبان برنامه نویسی جاوا اسکریپت چه مزایا و معایبی دارد؟ نظرات ارزشمندتان را با ما به اشتراک بگذارید.
بدون دیدگاه