جاوا اسکریپت (JavaScript) چیست؟

پاسخ دادن این سوال به این سادگی ها نیست چرا که دنیای جاوا اسکریپت بسیار پهناور تر از این حرف هاست که بتوانم پاسخ کاملی ارائه کنم اما اگر قرار باشد به طور خلاصه و مفید برایتان بگویم، می شود گفت: جاوا اسکریپت ساخته شد تا صفحات وب را زنده کند و به آن ها پویایی ببخشد. در واقع هر جا که اطلاعات به صورت استاتیک و خشک و ثابت نیستند و کمی انعطاف دارند شما شاهد استفاده از جاوا اسکریپت هستید! در این روز ها کمتر صفحه ی وبی را می توان پیدا کرد که از جاوا اسکریپت استفاده نکند.جاوا اسکریپت (JavaScript) که به اختصار JS نیز نامیده می شود، یکی از محبوبترین زبان‌های برنامه نویسی است. جاوا اسکریپت زبانی سطح بالا، داینامیک، شی‌گرا و تفسیری است که از شیوه‌های مختلف برنامه نویسی پشتیبانی می‌کند. از این زبان می توان برای برنامه نویسی سمت سرور(Server Side)، اپلیکیشن های موبایل، بازی و اپلیکیشن‌های دسکتاپ استفاده کرد. بنابراین می توان اینگونه برداشت کرد که زبان برنامه نویسی جاوا اسکریپت ، یک زبان همه فن حریف است.این محبوبیت بی دلیل نیست چرا که با این زبانِ شی گرا شما قادر خواهید بود تا سایت‌های بی‌روح خود را جان بخشی کنید و با کاربران خود تعامل داشته باشید. یعنی می‌توانید فایل‌های انیمیشنی، صوتی و تصویری را روی سایت خود به نمایش بگذارید. همچنین می‌توانید روی سایت‌تان تایمر قرار دهید، رنگ‌ها را با حرکت موس تغییر دهید و بسیاری کارهای دیگر که باعث جذابیت بیشتر صفحات وب می‌شوند.اما این تمام چیزی نیست که جاوا اسکریپت در اختیار شما قرار می‌دهد. شما با استفاده از این زبان می‌توانید شروع به ساخت برنامه‌های وب و موبایل و دسکتاپ کنید. برای این منظور می‌توانید از فریم‌ورک های مختلفJavaScript که مجموعه‌ای از کتابخانه‌ها را در اختیار شما قرار می‌دهند استفاده کنید. یکی از کارهای سرگرم کننده دیگری که می‌توانید از طریق این زبان انجام دهید، توسعه بازی های رایانه ای تحت مرورگر است. پس به صورت کلی می‌توان کاربردهای زبان جاوا اسکریپت را به صورت زیر بیان کرد:برنامه نویسی فرانت اندبرنامه نویسی بک اند با جاوا اسکریپتبرنامه نویسی نرم افزارهای موبایلبرنامه نویسی نرم افزارهای دسکتاپجاوا اسکریپت اولین بار در می 1995 در 10 روز توسط برندن ایچ، یکی از کارکنان شرکت Netscape متولد شد! در ابتدا این شرکت به این نتیجه رسیده بود که به صفحات وب پویا و جذاب تری احتیاج دارد. این اولین قدم به سوی ساخت زبانی ساده بود. آقای براندان ایچ از طرف این شرکت مامور شد که زبانی اسکریپتی برای صفحات وب و دست بردن در کدهای HTML بسازد. ماموریت آقای ایچ این بود زبانی را ارائه کند که نه تنها متخصصان برنامه نویسی از آن استقبال کنند، بلکه به راحتی مورد استفاده طراحان هم باشد.پردازش و اجرای برخی زبان‌ها بر روی سرور (سایت) صورت می‌گیرد و سپس نتیجه به سوی کاربر ارسال می‌شود. این زبان‌ها برای برقراری ارتباط به نرم‌افزاری احتیاج دارند که به آن وب سرور گفته می‌شود. اما نکته جالبی که در مورد زبان JavaScript وجود دارد این است که از این زبان می‌توان هم برای برنامه نویسی سمت سرور و هم سمت کاربر استفاده کرد. اما در گذشته قلمروی این زبان تنها به برنامه نویسی سمت کاربر محدود می‌شد. کدهای زبان های برنامه نویسی سمت کاربر همانطور که از اسم آن مشخص است در سیستم کاربر پردازش و اجرا می‌شوند.نقاط قوت زبان جاوا اسکریپت چیست؟هر یک از زبان هایی که در دنیای برنامه نویسی مورد استفاده قرار می گیرند نقاط قوت و ضعف هایی دارند که زبان جاوا اسکریپت هم از این موضوع مستثنا نیست. این زبان به دلیل مزایای فراوانی که دارد در میان برنامه نویسان از محبوبیت زیادی برخوردار است که به طور خلاصه به برخی از آنها اشاره می کنیم:بر اساس بررسی سایت stackoverflow محبوب ترین زبان برنامه نویسی سال 2018 است.برای پردازش و اجرا به کامپایلر احتیاجی ندارد.یادگیری جاوا اسکریپت نسبت به خیلی از زبان های برنامه نویسی راحت تر است.به صورت کراس پلتفورم روی مرورگر ها یا پلتفرم های مختلف اجرا می شود.نسبت به زبان های برنامه نویسی دیگر سبک تر و سریع تر است.فریم ورک ها،کتابخانه ها و به صورت کلی ابزارهای بسیار زیادی را در اختیارتان قرار می دهد.زبان بومی مرورگر وب است و در مرورگر کاربران پردازش می شود.امکان ایجاد صفحات وب تعاملی و پویا را به برنامه نویسان می دهد.در جواب عمل کاربران، عکس العمل نشان می دهد.نقاط ضعف زبان برنامه نویسی جاوا اسکریپت چیست؟برخی از ضعف های این زبان برنامه نویسی عبارتند از :دشواری در تشخیص دلیل خطا دادن و مشکل در دیباگ کردنمحدودیت در اجرای اسکریپت های جاوا اسکریپت با ایجاد محدودیت هایی جهت حفظ امنیتاجرا نشدن بر روی مرورگرهای قدیمینفوذپذیری نسبت به اکسپلویت ها و عوامل مخربمی تواند برای اجرای کدهای مخرب در کامپیوتر کاربران استفاده شود.با رندر شدن متفاوت بر روی ابزارهای مختلف می تواند باعث ایجاد تناقض و نداشتن یکپارچگی شود.بزرگترین عیب زبان جاوا اسکریپت امکان نفوذ پذیری و سوء استفاده از کدهای برنامه می باشد زیرا کدهای جاوا اسکریپت به راحتی قابل مشاهده هستند و به این ترتیب امنیت برنامه به راحتی به خطر می‌افتد. البته با انجام یکسری راهکارها می توان امنیت این زبان را افزایش داد. قواعد دستوری Syntax جاوا اسکریپت JavaScriptسینتکسJavaScript قوانینی از چگونگی ساخت برنامه های جاوا اسکریپت است. برنامه کامپیوتری لیستی از "دستورالعمل" هاست که توسط کامپیوتر"اجرا" میشوند.دستورات جاوا اسکریپت متشکل است از : values(مقادیر) ، Operators (عملگرها) ، Expressions(عبارات) ، Keywords (کلیدواژه ها) و Comments(توضیحات).برنامه ها و عبارات جاوا اسکریپتبرنامه کامپیوتری لیستی از "دستورالعمل" هاست که توسط کامپیوتر"اجرا" میشوند. در یک زبان برنامه نویسی، این دستورالعمل های برنامه "عبارات" نامیده می شوند. در HTML و جاوا اسکریپت عبارات، "دستورالعمل" هایی هستند که توسط مرورگر وب "قابل اجرا" می باشند. جاوا اسکریپت نیز یک زبان برنامه نویسی است و عبارات در این زبان با سمی کولن ";" از هم جدا میشوند. عبارات جاوا اسکریپت از مقادیر، عملگرها، عبارات، کلمات کلیدی، و توضیحات تشکیل شده اند. جاوا اسکریپت فضاهای متعدد را نادیده می گیرد. شما می توانید فضای سفید را به اسکریپت خود برای خواناتر کردن آن اضافه کنید. همچنین برای خوانایی بهتر کدها، برنامه نویسان اغلب تمایل دارند، خطوط کد بیش از 80 کاراکتر نباشند و بهترین مکان برای شکستن آن، بعد از یک عملگر چون "=" میباشد.عبارات جاوا اسکریپت اغلب با یک کلمه کلیدی برای تعریف عملی که باید انجام شود، شروع میشوند. در اینجا لیستی از برخی از کلمات کلیدی را مشاهده میکنید:کلمه کلیدیvar : اعلان یک متغیرکلمه کلیدی break : پایان یک سوئیچ یا یک حلقهکلمه کلیدی continue : پرش از یک حلقه و شروع از بالاکلمه کلیدی debugger : توقف اجرای جاوا اسکریپت، و فراخوانی (در صورت موجود بودن) تابع اشکال زداییکلمه کلیدی do … while : اجرای یک بلوک از عبارات، و تکرار بلوک، در حالی که شرط درست باشدکلمه کلیدی for : اجرای یک بلوک از عبارات، تا زمانی که شرط درست باشدکلمه کلیدی function : اعلان یک تابعکلمه کلیدی if… else : اجرای یک بلوک از عبارات، بسته به شرایطیکلمه کلیدی return : خروج از تابعکلمه کلیدی switch : اجرای یک بلوک از عبارات، بسته به شرایط مختلفکلمه کلیدی: try … catch پیاده سازی رسیدگی به خطا برای یک بلوک از عباراتسینتکس جاوا اسکریپت دو نوع مقدار را تعریف می کند: مقادیر ثابت و مقادیر متغیر. مقادیر ثابت، "لیترال" و مقادیر متغیر "متغیرها" نامیده می شوند. قوانین مهم برای نوشتن مقادیر ثابت عبارتنداز: اعداد همراه یا بدون رقم اعشار نوشته میشوند، رشته ها متنی هستند که در کوتیشن تکی یا دوتایی نوشته میشوند. عبارات نیز می توانند نشان دهنده مقادیر ثابت باشند.متغیرهای جاوا اسکریپتدر یک زبان برنامه نویسی، متغیرها برای ذخیره مقادیر داده استفاده می شوند. جاوا اسکریپت از کلید واژه "var " برای تعریف متغیرها استفاده می کند و ازعلامت مساوی برای اختصاص مقادیر به متغیرها استفاده می شود.همه متغیر های جاوا اسکریپت باید با نام منحصر به فرد، تعریف شوند. این نام منحصر به فرد به "شناسه" نامیده میشود. شناسه می تواند نام کوتاه (مانند x و y)، و یا نام توصیفی تر ( مانند age، sum، totalVolume) باشد. قواعد کلی برای ساخت نام برای متغیر های (شناسه منحصر به فرد) عبارتند از:► نام می تواند شامل حروف، ارقام، زیرخط، و نشانه دلار باشد.► نام باید با یک حرف شروع شود.► نام همچنین می تواند با $ شروع شود.► نام به حروف حساس هستند.► کلماترزرو شده (مانند کلمات کلیدی جاوا اسکریپت) نمی توانند به عنوان نام استفاده شوند.جاوا اسکریپت به حروف حساس است. همه شناسه های جاوا اسکریپت به بزرگی و کوچکی حروف کلمات حساس هستند یعنی دو متغیر lastName و lastname دو متغیر متفاوت در نظر گرفته میشوند. همچنین در این زبان، VAR یا Var بعنوان کلمه کلیدی "var" تفسیر نمیشوند.عملگرهای جاوا اسکریپتجاوا اسکریپت ازعملگر انتساب (=) برای تخصیص مقادیر به متغیرها و از عملگرهای محاسباتی (+ - * /) برای محاسبه مقادیر استفاده می کند.در زبان جاوا اسکریپت از کلمات کلیدی برای مشخص کردن عملیاتی که باید انجام شود، استفاده میشود مثلا کلمه کلیدی var به مرورگر میگوید که یک متغیر جدید ایجاد کند.مجموعه کاراکترهای جاوا اسکریپتجاوا اسکریپت از مجموعه کاراکتر های یونیکد استفاده می کند. یونی کد (تقریبا) همه کاراکترها، علائم نشانه گذاری، و نمادها در جهان را پوشش می دهد.توضیحات در جاوا اسکریپتهمه عبارات جاوا اسکریپت "قابل اجرا" نیستند.مثلا کد بعد از دو اسلش // یا بین / * و * / به عنوان یک توضیح پردازش می شود. توضیحات نادیده گرفته می شوند، و اجرا نخواهد شد.توضیحات جاوا اسکریپت می تواند برای تشریح کد های جاوا اسکریپت و خواناتر کردن آن مورد استفاده قرار گیرد. همچنین برای جلوگیری از اجرا، هنگامی که کد های آزمایشی جایگزین میشوند، کاربرد دارد. توضیحات تک خطی با "//" شروع میشوند و هر متنی که در ادامه این علامت در یک خط می آید، توسط جاوا اسکریپت نادیده گرفته میشود. توضیحات چند خطی نیز با */ شروه و با /* پایان میپذیرد و هر متنی بین این دو قرار گیرد اجرا نخواهد شد.