شرطی های جاوا اسکریپت، روتر منطقی برنامه ها


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

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


بیشتر بخوانید: “مروری بر عملگرها و عبارات جاوا اسکریپت


اگر… بیانیه دیگری

if…else یکی از پرکاربردترین عبارات شرطی در زبان جاوا اسکریپت است. ساختار if…else به برنامه نویس اجازه می دهد تا کد را بر اساس شرایط خاصی پیش ببرد. بنابراین، اگر شرط درست باشد، کد خاصی اجرا می شود و اگر شرط نادرست باشد، کد دیگری اجرا می شود.

ساختار اصلی if…else به شرح زیر است:

if (condition) {
  /* کدی که برای اجرا در صورت درست بودن شرط است */
} else {
  /* کدی که برای اجرا در صورت درست نبودن شرط است */
}

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

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

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

به عنوان مثال اگر … دیگری

برای درک بهتر مفهوم عبارت شرطی if…else به مثال زیر توجه کنید.

let x = 10;
if (x > 5) {
  console.log("x is greater than 5");
} else {
  console.log("x is less than or equal to 5");
}

در این کد با استفاده از if…else مقدار x بررسی شده و با عدد 5 مقایسه می شود و نتیجه بررسی نمایش داده می شود.

other if بیانیه

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

ساختار عبارت شرطی «اگر دیگر» به شرح زیر است:

if (condition1) {
  // اگر شرط اول درست باشد، این بلاک اجرا می‌شود
} else if (condition2) {
  // اگر شرط اول نادرست بود و شرط دوم درست باشد، این بلاک اجرا می‌شود
} else if (condition3) {
  // اگر هیچ‌کدام از شرط‌های قبلی درست نبودند و شرط سوم درست باشد، این بلاک اجرا می‌شود
} else {
  // اگر هیچ‌کدام از شرط‌های قبلی درست نبودند، این بلاک اجرا می‌شود
}

در این ساختار ابتدا شرط اول بررسی می شود. اگر این شرط درست باشد، بلوک مربوطه اجرا می شود. اما اگر این شرط نادرست باشد، برنامه به شرط بعدی «الز اگر (شرط2)» حرکت می کند و شرط دوم را بررسی می کند. این فرآیند تا زمانی ادامه می یابد که یکی از شرایط درست باشد یا تا زمانی که به بلوک «دیگر» که در آن هیچ یک از شرط ها درست نیست، برسد.

بنابراین «الف اگر» امکان بررسی چندین شرایط مختلف را فراهم می کند و به برنامه نویس اجازه می دهد تا با دقت بیشتری در مورد شرایط مختلف فکر کند و برنامه را به روشی منطقی و پویاتر بنویسد.

مثال دیگر اگر

فرض کنید می خواهیم برنامه ای بنویسیم که کاربر عددی را وارد کرده و بررسی کند که آیا آن عدد مثبت، منفی یا صفر است. این را می توان با استفاده از other if در جاوا اسکریپت انجام داد:

let number = prompt("Please enter a number:"); // دریافت عدد از کاربر
if (number > 0) {
  console.log("The number is positive."); // اگر عدد مثبت باشد، پیام "عدد مثبت است" نمایش داده می‌شود
} else if (number < 0) {
  console.log("The number is negative."); // اگر عدد منفی باشد، پیام "عدد منفی است" نمایش داده می‌شود
} else {
  console.log("The number is zero."); // اگر عدد صفر باشد، پیام "عدد صفر است" نمایش داده می‌شود
}

در این کد ابتدا کاربر شماره را وارد می کند. سپس با استفاده از else if عدد وارد شده بررسی شده و پیام مربوطه مثبت، منفی یا صفر نمایش داده می شود.


بیشتر بخوانید: "راهنمای کامل انواع داده در جاوا اسکریپت"


سوئیچ ... عبارت موردی

عبارت شرطی 'switch...case' در جاوا اسکریپت برای انتخاب بین چندین گزینه مختلف بر اساس مقدار یک متغیر خاص استفاده می شود. این عبارت شامل یک متغیر کنترلی است که مقدار آن بررسی می شود و یک سری مقادیر ممکن (مورد) که با مقدار آن متغیر مقایسه می شود.

ساختار "سوئیچ ... مورد" به شرح زیر است:

switch (expression) {
  case choice1:
    // run this code
    break;

  case choice2:
    // run this code instead
    break;

  // include as many cases as you like

  default:
    // actually, just run this code
    break;
}

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

اگر مقدار متغیر کنترل با هیچ یک از مقادیر ممکن مطابقت نداشته باشد، برنامه به بلوک پیش فرض می پرد و کد مربوطه اجرا می شود.

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

سوئیچ نمونه ... مورد

فرض کنید می خواهیم روز هفته را بر اساس عدد معادل آن نمایش دهیم. برای این کار می توانیم از "switch...case" استفاده کنیم.

در این مثال، متغیر کنترل 'dayNumber' مقدار روز هفته را دریافت می کند و سپس مقدار آن را با مقادیر ممکن 1 تا 7 مقایسه می کند. بنابراین، هر مقدار از متغیر 'dayNumber' با یکی از مقادیر ممکن مطابقت دارد. مقادیر و بلوک کد مربوطه اجرا می شود.

let dayNumber = 3;
let dayName;
switch (dayNumber) {
  case 1:
    dayName = "Sunday";
    break;
  case 2:
    dayName = "Monday";
    break;
  case 3:
    dayName = "Tuesday";
    break;
  case 4:
    dayName = "Wednesday";
    break;
  case 5:
    dayName = "Thursday";
    break;
  case 6:
    dayName = "Friday";
    break;
  case 7:
    dayName = "Saturday";
    break;
  default:
    dayName = "Invalid day number";
}

console.log("The day corresponding to day number", dayNumber, "is", dayName);

در این مثال، اگر متغیر 'dayNumber' برابر با 3 باشد، پیام "روز مربوط به روز شماره 3 سه شنبه است" نمایش داده می شود. اما اگر مقدار "dayNumber" بیشتر از 7 باشد، پیام "عدد روز نامعتبر" نمایش داده می شود.

اپراتور سه تایی

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

به عبارت دیگر، عملکرد عبارت سه تایی مانند if...else است، با این تفاوت که در این حالت تعداد خطوط کد بسیار کمتر خواهد بود.

ساختار استفاده از عملگر سه تایی به شرح زیر است:

condition ? run this code : run this code instead

بیشتر بخوانید: "نکاتی که باید قبل از شروع یادگیری جاوا اسکریپت بدانید"


نمونه ای از اپراتور سه تایی

فرض کنید می خواهیم پیام خوش آمدگویی را بر اساس مقدار متغیری به نام «isLoggedIn» نمایش دهیم. اگر کاربر وارد شده باشد ('isLoggedIn' برابر با 'true') است، پیام "!Welcome back" نمایش داده می شود. اما اگر کاربر وارد نشده باشد ('isLoggedIn' برابر با 'false' است) پیام ". لطفا برای ادامه وارد شوید" نمایش داده می شود.

const isLoggedIn = true; // یا false بر اساس وضعیت ورود کاربر
const welcomeMessage = isLoggedIn ? "Welcome back!" : "Please log in to continue.";
console.log(welcomeMessage);

نتیجه

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

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

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