نکته‌های طلایی برای دستورات شرطی جاوا اسکریپت

دستورات شرطی جاوا اسکریپت

برای نوشتن یک برنامه تعاملی، باید با توجه به ورودی‌هایی که از کاربر یا سیستم دریافت می‌کنیم، یکسری عملیات انجام دهیم. در واقع گاها با توجه به مقدار دیتا،  روند اجرای برنامه عوض می‌شود. در تمام زبان های برنامه نویسی، برای رویارویی با این موارد از دستورات شرطی استفاده می‌شود. دستورات شرطی جاوا اسکریپت ، تقریبا مشابه دستورات شرطی در زبان‌های برنامه نویسی مثل C هستند. در ادامه بیشتر درباره دستورات شرطی توضیح میدهم.

فرض کنید میخواهیم برنامه‌ای بنویسیم که: ساعت را دریافت کند. اگر ساعت از ۶ بعد از ظهر گذشته بود، یک پیغام چاپ کند.

بنظرتان چطور باید همچین برنامه‌ای را پیاده سازی کنیم؟ وقتی صحبت از “اگر” میشود، در واقع داریم شرط میگذاریم. اگر شرایط اینطور بود، آنگاه بهمان طور عمل کن.

در ادامه به معرفی انواع دستورات شرطی جاوا اسکریپت میپردازم و بررسی میکنیم چطور باید این شروط را در زبان برنامه نویسی جاوا اسکریپت، پیاده سازی کنیم.

در ادامه به موارد زیر میپردازیم:

  • if statement
  • else
  • operators
  • logical conditions
  • nested conditions
  • switch
  • ternary operator

دستورات شرطی جاوا اسکریپت

If statement

دستورات شرطی جاوا اسکریپت:if

عبارت قبلی را با کمک دستور شرطی if مینویسیم.

در واقع کد بالا بیانگر این مطلب است که اگر شرط( عبارت داخل پرانتز) درست بود، آنگاه بدنه دستور شرطی( داخل براکت) اجرا ‌شود.

else

دستورات شرطی جاوا اسکریپت: if else

خب حالا فرض کنید در ادامه کد قبل میخواهیم بگویم اگر ساعت از ۶ بعد از ظهر گذشته بود پیغام قبل را چاپ کن، در غیر این صورت پیغامی را از کاربر بگیر و آن را چاپ کن. یا به عبارت دیگر اگر شرط داخل پرانتز درست نبود، عبارت بعدی را اجرا کن.

در واقع میخواهیم ساختاری مشابه”  اگر شرط برقرار بود کار اول را انجام بده، در غیر این صورت کار دوم را” پیاده سازی کنیم. برای اینکار باید از else استفاده کنیم.

خروجی کد کاملا وابسته به ساعت(دیتا) است. سینتکس این دستورات شرطی جاوا اسکریپت، را در ادامه میبینید:

همانطور که می‌بینید، نوشتن دستورات شرطی جاوا اسکریپت( و البته زبان های برنامه نویسی دیگر) را با کلید واژه if‌ شروع میکنیم. در ادامه جلوی if یک پرانتز باز و بسته قرار میدهیم که باید شرط را داخل این پرانتز بنویسید. با یک {} بدنه شرط را مشخص میکنیم. البته اگر این بدنه تنها یک خط باشد، میتوانید {} را هم نگذارید. به مثال زیر توجه کنید:

Operators

برای نوشتن شرط یا شروط داخل پرانتز، میتوانید از عملگرهایی که در جدول پایین آمده است، استفاده کنید. این عملگرها عملگرهای محاسباتی هستند.

syntax

Operator name

==

چک کردن شرط برابری ۲ مقدار

چک کردن شرط بزرگتر بودن

چک کردن شرط کوچکتر بودن

=<

چک کردن شرط بزرگتری یا تساوی

=>

چک کردن شرط کوچکتری یا تساوی

=!

چک کردن شرط عدم تساوی

!

چک کردن نفی/ مخالف(Negation )

توجه داشته باشید اگر بخواهیم تساوی دو عبارت را بررسی کنیم، از عملگر == استفاده میکنیم. این عملگر متفاوت از عملگر = است که برای assignment استفاده میشود.

شروط منطقی

دستورات شرطی جاوا اسکریپت، امکان پیاده سازی شروط منطقی را به برنامه نویس میدهد. در واقع اگر بخواهیم به طور همزمان چندین شرط برقرار باشد، یا اینکه از بین چند شرط حداقل یکی از آن‌ها برقرار باشد، از این عملگرها استفاده میکنیم.

به کد زیر توجه کنید:

در کد بالا بیان کردیم که اگر ساعت از ۵ صبح گذشته بود و هنوز ۶ بعدازظهر نشده بود، در خروجی صبح بخیر را چاپ کند. در غیر این صورت شب است و برنامه باید شب بخیر را چاپ کند.

اگر دقت کرده باشید در توضیحات بالا دو شرط را به کمک عبارت “و” به هم متصل کردم. در برنامه نویسی این اتصال شروط با کمک && (and‌) اتفاق میوفتد. وقتی از عملگر && استفاده میکنیم، انتظار داریم به طور همزمان چندین شرط(۲ یا بیشتر) برقرار(true‌) باشند.

در ادامه زمانی که بخواهیم در شروط را طوری پیاده سازی کنیم که اگر حداقل یکی از آن‌ها درست بود، آنگاه بدنه if اجرا شود، باید بین شروط از عملگر ||‌(or‌) استفاد کنیم.

باید توجه داشته باشید، در نوشتن دستورات شرطی جاوا اسکریپت، با کمک or‌ ممکن است چند شرط درست باشند. در این صورت اولین شرط درست مبنای تصمیم گیری موتور جاوا اسکریپت است.

شروط تودرتو

شما میتوانید با ساختارهایی که برای دستورات شرطی جاوا اسکریپت، تا به اینجای کار، یاد گرفته‌اید، شروط زیادی را به صورت تو در تو(nested‌) بنویسید. به مثال زیر توجه کنید:

در کد بالا سعی کردیم با توجه به ساعت پیغامی را به کاربر نمایش بدیم. خاطرتان باشد، در شروط تودرتو، قبل از آخرین else لازم نیست کلیدواژه if را قرار دهید. در واقع این قطعه کد زمانی انجام میشود که هیچ یک از شروط بالا برقرار نباشند.

Switch

دستورات شرطی جاوا اسکریپت: switch case

اگر بخواهیم با توجه به مقادیر مختلف یک متغییر، عملی را انجام دهیم، از این ساختار برای پیاده سازی دستورات شرطی جاوا اسکریپت استفاده میکنیم. به عبارتی switch جایگزین خوبی برای if-else‌های متوالی است.

در توضیح این ساختار باید بدانید که شرط را داخل پرانتز و جلوی switch‌ مینویسیم. از کلیدواژه case برای بررسی مقادیر متفاوت شرط استفاده میکنیم. اگر مقدار شرط با مقداری که جلوی هر کدام از case ها نوشته شده‌است برابر بود، افعالی که در ادامه آن کیس بیان شده، انجام میشود. از طرفی برای اینکه بعد از برقراری شرط و انجام دادن فعل مربوط به آن، بررسی case های دیگر انجام نشود، از break استفاده میکنیم.

عملگر سه‌گانه

دستورات شرطی جاوا اسکریپت: ternary operator

گاهی مجبوریم بنا به شرایط متفاوت، مقادیر مختلفی را ذخیره کنیم. فرض کنید یک متغییر داریم به اسم female که بیانگر جنسیت کاربر است. در صورتی که مقدار آن برابر true‌ باشد یعنی کاربر مونث است و اگر مقدار آن برابر false باشد یعنی کاربر مذکر است.

میخواهیم برنامه ای بنویسیم که براساس مقدار female یک مقدار string‌ که بیانگر نوع جنسیت کاربر است را تولید و چاپ کنیم.

در کد پایین این برنامه را به روشی که تابحال با هم یادگرفتیم نوشته‌ایم:

حالا کد بالا را با کمک عملگر سه گانه پیاده سازی میکنیم:

در توضیح ساختار بالا باید بدانید که شرط را قبل از علامت سوال مینویسیم. عملیاتی که در صورت درست بودن شرط باید انجام شود را بعد از علامت سوال مینویسم و با یک علامت : دو عملیات را از هم تفکیک میکنیم. در نهایت  عملیاتی که در صورت غلط بودن شرط باید انجام شود را بعد از علامت : مینویسیم.

همانطور که مشاهده میکنید، خروجی دو قطعه کد بالا با هم برابر است. اما قطعه کد پایین خوانایی بیشتری دارد و کوتاهتر است.

با نظراتتون در انتهای پست مشوق ما باشید…

در این مقاله تمام سعی‌ام بر این بود که با دستورات شرطی جاوا اسکریپت ، کاربردهایشان  و نحوه استفاده از آن‌ها آشنا شوید. امیدوارم به هدفم رسیده باشم.

اگر سوال یا نظری درباره دستورات شرطی جاوا اسکریپت دارید، با من و سایر خوانندگان این مقاله در میان بگذارید. تا یادم نرفته، بنظر شما مقاله‌ی بعدی درباره‌ی چه موضوعی باشد؟

راستی! تلگرام چ یاب رو برای با خبر شدن از آخرین دوره‌های آموزشی، محصولات و تخفیف های ویژه دنبال کنید.

منابع: ict.social

اشتراک با:
من رو با خبر کن!
guest
0 دیدگاه
Inline Feedbacks
مشاهده همه نظرات
0
میدونید که نظر شما برامون مهمه! برامون بنویسید ...x
()
x