javascript چیست؟
زبان برنامه نویسی جاوا اسکریپت چیست؟
JavaScript که به اختصار JS نیز نامیده میشود، یکی از محبوبترین زبانهای برنامه نویسی است.
جاوا اسکریپت زبانی سطح بالا، داینامیک، شیگرا و تفسیری است که از شیوههای مختلف برنامه نویسی پشتیبانی میکند.
از این زبان میتوان برای برنامه نویسی سمت سرور (Server Side)، اپلیکیشنهای موبایل، بازی و اپلیکیشنهای دسکتاپ استفاده کرد.
بنابراین میتوان اینگونه برداشت کرد کهزبان برنامه نویسی جاوا اسکریپت، یک زبان همه فن حریف است.
اگر با هر یک از این اصطلاحات آشنایی ندارید نگران نباشید، زیرا در ادامه به توضیح هر یک از آنها خواهیم پرداخت.
برای اینکه بهتر متوجه چیستی زبان جاوا اسکریپت شوید، در ابتدا باید جواب سوالاتی مانند زبان کامپایلری چیست و چه تفاوتی با زبان مفسری دارد؟
، زبان برنامه نویسی سمت سرور و سمت کاربر به چه نوع زبانهایی گفته میشود؟ را بدانید.
پس از درک این مفاهیم میتوانید آموزش جاوا اسکریپت را شروع کنید.
همانطور که میدانید کامپیوترها تنها به زبان صفر و یک (Binary) صحبت میکنند
و زبان دیگری را متوجه نمیشوند. ما در ابتدا برای برقراری ارتباط با ماشینها سعی کردیم
به زبان خود آنها، یعنی زبانی که به زبان صفر و یک نزدیکتر است، صحبت کنیم.
به این نوع زبانها که به صورت مستقیم با پردازنده در ارتباطند، در اصطلاح، زبانهای سطح پایین (Low Level) گفته میشود.
از جمله این زبانها میتوان به اسمبلی اشاره کرد.
اما یادگیری و تسلط به این زبانها برای برنامه نویسان فوق العاده سخت بود.
بنابراین متخصصین تصمیم به ساخت زبانهایی گرفتند که به زبان انسانها نزدیکتر باشد.
در اصطلاح به این زبانها، زبانهای سطح بالا (High Level) میگویند.
زبانهای سطح بالایی مانند JavaScript کار را برای برنامهنویسان سادهتر کردند،
زیرا ساختار نوشتاری و منطق آنها بسیار به زبان انسانها نزدیکتر شده است.
جاوا اسکریپت چیست؟
پس میتوان اینگونه نتیجه گرفت که آموزش جاوا اسکریپت نسبت به سایر زبانهای برنامه نویسی سطح پایین سادهتر است.
همانطور که دیدید در تعریف زبان برنامه نویسی جاوا اسکریپت به این نکته اشاره شد که این زبان از نوع زبانهای مفسری است.
برای درک ماهیت زبانهای برنامه نویسی مفسری ابتدا فکر کنید
که شما یک مترجم هستید. برای ترجمه یک متن، دو راه بیشتر ندارید.
یا باید آنچه را دریافت میکنید به صورت خط به خط و همزمان ترجمه کنید،
یا کل مطلب را یک جا ترجمه کنید. این دقیقا همان تفاوت میان زبانهای مفسری (Interpreter) و زبانهای کامپایلری (Compiled) است.
زبانهای برنامه نویسی مفسری چه نوع زبان هایی هستند؟
در زبانهای مفسری (Interpreted) سورس کد به صورت خط به خط تفسیر میشود
یعنی پس از تفسیر و اجرای خط اول به خط دوم میرود که این روند باعث کند شدن پروسه اجرا میشود.
این زبانها برعکس زبان کامپایلری به سیستمعامل وابسته نیستند.چرا که به صورت همزمان و از طریق مفسر، اجرا میشوند.
به چه زبان هایی، زبان برنامه نویسی کامپایلری میگویند؟
اجازه دهید کمی بیشتر و تخصصیتر در این باره توضیح دهیم.
در زبانهای کامپایل شده تمام سورس کدها به یکباره کامپایل (ترجمه) شده و به صورت کامل پردازش و اجرا میشوند.
خروجی ای که کامپایلر در اختیار شما قرار میدهد یک فایل کامپایل شده برای سیستمعامل مورد نظر شما است
که هیچ وابستگی به کدهای نوشتهشده ندارند.
در واقع زبانهای کامپایلری به سیستمعامل وابسته هستند و امکان استفاده از کدهای کامپایل شده بر روی سیستمعامل دیگری وجود ندارد.
تاریخچه جاوا اسکریپت
جاوا اسکریپت اولین بار در می1995 در 10 روز توسط برندن ایچ، یکی از کارکنان شرکت Netscape متولد شد!
در ابتدا این شرکت به این نتیجه رسیده بود که به صفحات وب پویا و جذابتری احتیاج دارد.
این اولین قدم به سوی ساخت زبانی ساده بود. آقای براندان ایچ از طرف این شرکت مامور شد
که زبانی اسکریپتی برای صفحات وب و دست بردن در کدهای HTML بسازد.
ماموریت آقای ایچ این بود زبانی را ارائه کند که نه تنها متخصصان برنامه نویسی از آن استقبال کنند،
بلکه به راحتی مورد استفاده طراحان هم باشد.
این شرکت در ابتدا به فکر ارتقا و ساده سازی زبان Schema افتاد
اما در نهایت به این نتیجه رسید که به زبانی شبیه جاوا اما با سینتکس سادهتر احتیاج دارد.
در ابتدای کار اسم این زبان برنامه نویسی Mocha بود که بعد به Mona تغییر پیدا کرد.
در سپتامبر همان سال اسم این زبان به LiveScript تغییر کرد و در آخر سریال تغییر اسم با انتخاب اسم JavaScript به اتمام رسید.
نهایی شدن این اسم تنها به این دلیل بود که در آن روزها زبان برنامه نویسی Java بسیار پرطرفدار شده بود.
انتخاب این نام برای این زبان بسیار هوشمندانه بود.
زیرا در آن زمان این زبان با انتخاب این نام، توانست سهم زیادی از بازار جاوا را به خود اختصاص دهد.
به هر حال در سال 1996 جاوا اسکریپت برای استاندارد شدن به سازمان ECMA سپرده شد.
در نهایت اولین استاندارد جاوا اسکریپت با نام ECMAScript در سال 1997 منتشر شد.
اولین اکما اسکریپت ECMA-262 و آخرین ورژن آن با اسم ECMAScript 2017 در ژوئن 2017 منتشر شد.
کاربرد جاوا اسکریپت در دنیای برنامه نویسی چیست؟
پیشتر به محبوبیت زبان جاوا اسکریپت اشاره کردیم.
این محبوبیت بی دلیل نیست چرا که با این زبانِ شی گرا شما قادر خواهید بود
تا سایتهای بیروح خود را جان بخشی کنید و با کاربران خود تعامل داشته باشید.
یعنی میتوانید فایلهای انیمیشنی، صوتی و تصویری را روی سایت خود به نمایش بگذارید.
همچنین میتوانید روی سایتتان تایمر قرار دهید، رنگها را با حرکت موس تغییر دهید
و بسیاری کارهای دیگر که باعث جذابیت بیشتر صفحات وب میشوند.
اما این تمام چیزی نیست که جاوا اسکریپت در اختیار شما قرار میدهد.
شما با استفاده از این زبان میتوانید شروع به ساخت برنامههای وب و موبایل و دسکتاپ کنید.
برای این منظور میتوانید از فریمورکهای مختلف JavaScript که مجموعهای از کتابخانهها را در اختیار شما قرار میدهند استفاده کنید.
یکی از کارهای سرگرم کننده دیگری که میتوانید از طریق این زبان انجام دهید،
توسعه بازیهای رایانه ای تحت مرورگر است. پس به صورت کلی میتوان کاربردهای زبان جاوا اسکریپت را به صورت زیر بیان کرد :
- برنامه نویسی فرانت اند
- برنامه نویسی بک اند با جاوا اسکریپت
- برنامه نویسی نرم افزارهای موبایل
- برنامه نویسی نرم افزارهای دسکتاپ
جاوا اسکریپت چگونه کار میکند؟
حال که دیدیم جاوا اسکریپت چیست و چه کاربردهایی دارد،
شاید این سوال برای شما پیش آمده باشد که جاوا اسکریپت چگونه در مرورگرهای مختلف اجرا میشود؟
جواب این سوال موتورهای پردازشی (Engine) هستند.
مرورگرهای مختلف برای اجرای کدهای جاوااسکریپت از موتورهای مختلفی استفاده میکنند
که در ادامه به برخی از آنها اشاره میکنیم.
- موتور V8 برای مرورگرهای اپرا و کروم
- موتور SpiderMonkey برای فایرفاکس
- موتورهای Trident و Chakra برای ورژنهای مختلف اینترنت اکسپلورر
- موتور ChakraCore برای مرورگر Edge
- موتورهای Nitro و SquirrelFish برای مرورگر سافاری
این موتورها در ابتدا کدهای جاوا اسکریپت را ترجمه میکنند.
سپس اسکریپتها را به زبان ماشین کامپایل میکنند تا در نهایت کدها اجرا شوند.
البته این موضوع به این معنی نیست که زبان جاوا اسکریپت تنها بر روی مرورگرهای وب اجرا میشود.
این زبان برنامه نویسی تقریبا بر روی تمام پلتفرمها با استفاده از JavaScript Virtual Machine قابل اجرا است.
مزایا و معایب زبان برنامه نویسی جاوا اسکریپت
الف) مزایای جاوا اسکریپت
• صفحات HTML شما را پویا میکند.
• میتواند cookie بسازد و استفاده کند.
• قابلیتهای زیادی در کنترل Browser بیننده دارد.
• قابلیت برنامه نویسی را به صفحات HTML شما میدهد.
• میتوان از آن در تمامی صفحات وِب، بدون توجه به حجم دادهها و فایل، استفاده کرد.
• نزدیک بودن این زبان برنامهنویسی به زبانهای برنامهنویسی دیگر نظیر C++ ،C و #C .
• فراهم کردن برنامهنویسی Dynamic که در دنیای مدرن امروزه بسیار مورد استفاده قرار میگیرد.
• دنیایی از کتابخانه و فریمورک دارد که در نهایت توسعه صفحات وب را برای برنامه نویسان آسان میکند.
• یک زبان برنامه نویسی رویداد محور (Event-based) میباشد که در مصارف صنعتی کاربردهای بسیاری دارد.
• فراگیری زبان جاوا اسکریپت نسبت به دیگر همتایان آن بسیار ساده میباشد.
به علاوه منابع این زبان به صورت آنلاین و آفلاین در دسترس عموم قرار دارد.
• وقتی بهعنوان یک زبان سمت کاربر (Client-Side) از آن استفاده میشود،
به محض باز شدن مرورگر، جاوا اسکریپت نیز به سرعت شروع بهکار میکند.
• به لطف جاوا اسکریپت، برنامهنویسان نیازی به یادگیری زبانهای مختلف سمت کاربر یا سمت سرور ندارند.
بهعبارت دیگر زبان جاوا اسکریپت تمامی امکانات مورد نیاز را در یک پکیج برای برنامه نویسی بک اند و برنامه نویسی فرانت اند فراهم میکند.
ب) معایب جاوا اسکریپت
• کند بودن از مهمترین معایب این زبان برنامه نویسی است که بهدلیل عدم کامپایل شدن بهوجود میآید.
• دیباگ کردن بسیار مشکل.
• فقط بر روی مرورگرها اجرا میشود.
• از قابلیت چند ریسمانی (Multithreading) پشتیبانی نمیکند.
• امکان مبادله با سرور سایت را ندارد چون روی مرورگر اجرا میشود.
• جاوا اسکریپت در سمت کاربر، اجازه خواندن و نوشتن فایل ها را نمیدهد.
• ترجمهی کدهای نوشته شده در این زبان در برخی از مرورگرها متفاوت میباشد.
• گاهی برای سو استفاده از سایت برخی کاربران امکان اجرای اسکریپتها را بر روی مرورگر خود لغو میکنند.
• اگرچه گفته شد بیشتر مروگرها از آن پشتیبانی میکنند ولی در برخی مرورگرهای قدیمی قابل اجرا نشدن نیست.
• اصلی ترین عیب زبان برنامه نویسی جاوااسکریپت، قابل مشاهده بودن تمامی کدهای نوشته شده
در آن است به گونه ای که نفوذ پذیری به آنها کار ساده ای است و همین عامل امنیت وبسایت را کمی کاهش می دهد
(البته با انجام یکسری کارها این امنیت قابل تامین می باشد).
• اگرچه ارور جاوااسکریپت به ندرت در مرورگرها دیده میشود، اما در صورت ایجاد خطا تمام وبسایت از کار میافتد.
چگونه جـاوااسکـریپت در یک صفحه وب قرار میگیرد ؟
همانطورکه میدانیدypertext Markup LanguageHTML زبان خلق صفحات وب میباشندبرای یادآوری لیست زیر را در نظـربگیرید.
ایـن لیست یک سندHTML ساده با یک عبارت جاوااسکریپت رانشـان میدهد:
<HTML>
<HEAD>
<TITLE>OUR HOME PAGE</TITLE>
<BODY>
<H1>THE SOCIETY</H1>
<P>WELCOME TO OUR WEB PAGE. UNFORTUNATELY.</P>
<SCRIPT LANUAGE=”JAVASCRIPT”>
DOCUMENT.WRITE(DOCUMENT.LASTMODIFIED);
</SCRIPT>
</BODY>
</HTML>
این سند ،از یک قسمت سر (Head) ، که بیـن دستورات <head > …</head> قرار گرفته،
ویک قسمت بدنه (Body) ، که بـه وسیله دستورات<body>…</body> مشخص گردیده ،
تشکیل شـده است. بـرای افـزودن دستورات جـاوااسکـریپت به یک صفحه ،باید از دستور <script> بهره جست.
دستور<script> به مرورگرمیفهماند که ازاین قسمت سند،تاهنگامی که به دستـور پایانی</script> برخورد کند،
با دستورات جاوااسکریپت مواجه خواهد شد.در اکثر موارد،استفاده از عبارات جـاوااسکـریپتی در خارج از محدوده دستور <script>مجاز نمیباشد
جمع بندی
در نهایت اگر تصمیم به یادگیری این زبان گرفته اید به شما تبریک میگوییم.
چرا که جاوا اسکریپت در واقع تنها یک زبان برنامه نویسی سمت کاربر (Client Side) نیست.
پیش بینیها نشان میدهند در آینده ای نه چندان دور همه چیز به سمت بستر وب تعاملی خواهد رفت
و این یعنی ما بیش از پیش به زبانی مانند جاوا اسکریپت نیاز خواهیم داشت که بتواند پاسخگوی تمام خواستههای ما باشد.
همچنین این زبان در حال حاضر توسط افراد و سازمانهای زیادی مورد استفاده است.
این بدین معناست که شما به عنوان برنامه نویس در این حوزه به منابع و اطلاعات آموزشی زیادی دسترسی خواهید داشت.
پس اگر تصمیم دارید به آموزش جاوا اسکریپت بپردازید، قطعا با کمبود منابع آموزشی مناسب مواجه نخواهید شد.
جهت مشاهده دوره های آموزشی بر روی این لینک کلیک نمایید.
نویسنده: حانیه گل لاله کرمانی
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.