You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/fa/2-js-basics/3-making-decisions/README.md

12 KiB

اصول اولیه جاوااسکریپت: تصمیم‌گیری

اصول اولیه جاوااسکریپت - تصمیم‌گیری

یادداشت تصویری توسط Tomomi Imura

آزمون پیش از درس

آزمون پیش از درس

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

تصمیم‌گیری

🎥 برای مشاهده ویدئویی درباره تصمیم‌گیری، روی تصویر بالا کلیک کنید.

می‌توانید این درس را در Microsoft Learn دنبال کنید!

مرور کوتاه بر بولی‌ها

بولی‌ها فقط می‌توانند دو مقدار داشته باشند: true یا false. بولی‌ها کمک می‌کنند تصمیم بگیرید کدام خطوط کد باید اجرا شوند وقتی شرایط خاصی برقرار است.

بولی خود را به صورت true یا false تنظیم کنید:

let myTrueBool = true
let myFalseBool = false

بولی‌ها به نام ریاضیدان، فیلسوف و منطق‌دان انگلیسی جورج بول (18151864) نام‌گذاری شده‌اند.

عملگرهای مقایسه و بولی‌ها

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

نماد توضیحات مثال
< کمتر از: دو مقدار را مقایسه می‌کند و اگر مقدار سمت چپ کمتر از مقدار سمت راست باشد، نوع داده بولی true را برمی‌گرداند 5 < 6 // true
<= کمتر یا مساوی با: دو مقدار را مقایسه می‌کند و اگر مقدار سمت چپ کمتر یا مساوی مقدار سمت راست باشد، نوع داده بولی true را برمی‌گرداند 5 <= 6 // true
> بزرگتر از: دو مقدار را مقایسه می‌کند و اگر مقدار سمت چپ بزرگتر از مقدار سمت راست باشد، نوع داده بولی true را برمی‌گرداند 5 > 6 // false
>= بزرگتر یا مساوی با: دو مقدار را مقایسه می‌کند و اگر مقدار سمت چپ بزرگتر یا مساوی مقدار سمت راست باشد، نوع داده بولی true را برمی‌گرداند 5 >= 6 // false
=== برابری سختگیرانه: دو مقدار را مقایسه می‌کند و اگر مقادیر سمت راست و چپ برابر و از یک نوع داده باشند، نوع داده بولی true را برمی‌گرداند 5 === 6 // false
!== نابرابری: دو مقدار را مقایسه می‌کند و مقدار بولی مخالف آنچه عملگر برابری سختگیرانه برمی‌گرداند را برمی‌گرداند 5 !== 6 // true

دانش خود را با نوشتن چند مقایسه در کنسول مرورگر خود بررسی کنید. آیا داده‌های برگشتی شما را شگفت‌زده می‌کنند؟

دستور If

دستور if کدی را که بین بلوک‌های آن قرار دارد اجرا می‌کند اگر شرط برقرار باشد.

if (condition) {
  //Condition is true. Code in this block will run.
}

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

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
}

دستور If..Else

دستور else کدی را که بین بلوک‌های آن قرار دارد اجرا می‌کند وقتی شرط برقرار نباشد. این دستور با دستور if اختیاری است.

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is false. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

درک خود از این کد و کد زیر را با اجرای آن در کنسول مرورگر آزمایش کنید. مقادیر متغیرهای currentMoney و laptopPrice را تغییر دهید تا مقدار برگشتی console.log() تغییر کند.

دستور Switch

دستور switch برای انجام اقدامات مختلف بر اساس شرایط مختلف استفاده می‌شود. از دستور switch برای انتخاب یکی از چندین بلوک کد برای اجرا استفاده کنید.

switch (expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
  // code block
}
// program using switch statement
let a = 2;

switch (a) {
  case 1:
    a = "one";
    break;
  case 2:
    a = "two";
    break;
  default:
    a = "not found";
    break;
}
console.log(`The value is ${a}`);

درک خود از این کد و کد زیر را با اجرای آن در کنسول مرورگر آزمایش کنید. مقدار متغیر a را تغییر دهید تا مقدار برگشتی console.log() تغییر کند.

عملگرهای منطقی و بولی‌ها

تصمیم‌گیری ممکن است به بیش از یک مقایسه نیاز داشته باشد و می‌توان آن‌ها را با عملگرهای منطقی ترکیب کرد تا یک مقدار بولی تولید شود.

نماد توضیحات مثال
&& منطقی AND: دو عبارت بولی را مقایسه می‌کند. فقط زمانی true برمی‌گرداند که هر دو طرف true باشند (5 > 6) && (5 < 6 ) //یک طرف false است، طرف دیگر true است. false برمی‌گرداند
|| منطقی OR: دو عبارت بولی را مقایسه می‌کند. اگر حداقل یک طرف true باشد، true برمی‌گرداند (5 > 6) || (5 < 6) //یک طرف false است، طرف دیگر true است. true برمی‌گرداند
! منطقی NOT: مقدار مخالف یک عبارت بولی را برمی‌گرداند !(5 > 6) // 5 بزرگتر از 6 نیست، اما "!" true برمی‌گرداند

شرایط و تصمیم‌گیری با عملگرهای منطقی

عملگرهای منطقی می‌توانند برای تشکیل شرایط در دستورات if..else استفاده شوند.

let currentMoney;
let laptopPrice;
let laptopDiscountPrice = laptopPrice - laptopPrice * 0.2; //Laptop price at 20 percent off

if (currentMoney >= laptopPrice || currentMoney >= laptopDiscountPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is true. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

عملگر نفی

تا اینجا دیده‌اید که چگونه می‌توانید از دستور if...else برای ایجاد منطق شرطی استفاده کنید. هر چیزی که وارد یک if شود باید به true/false ارزیابی شود. با استفاده از عملگر ! می‌توانید عبارت را نفی کنید. این به صورت زیر خواهد بود:

if (!condition) {
  // runs if condition is false
} else {
  // runs if condition is true
}

عبارات سه‌گانه

if...else تنها راه برای بیان منطق تصمیم‌گیری نیست. شما همچنین می‌توانید از چیزی به نام عملگر سه‌گانه استفاده کنید. نحو آن به این صورت است:

let variable = condition ? <return this if true> : <return this if false>

در زیر یک مثال ملموس‌تر آورده شده است:

let firstNumber = 20;
let secondNumber = 10;
let biggestNumber = firstNumber > secondNumber ? firstNumber : secondNumber;

چند دقیقه وقت بگذارید و این کد را چند بار بخوانید. آیا می‌فهمید این عملگرها چگونه کار می‌کنند؟

کد بالا بیان می‌کند که:

  • اگر firstNumber بزرگتر از secondNumber باشد
  • سپس firstNumber را به biggestNumber اختصاص دهید
  • در غیر این صورت secondNumber را اختصاص دهید.

عبارت سه‌گانه فقط یک روش فشرده برای نوشتن کد زیر است:

let biggestNumber;
if (firstNumber > secondNumber) {
  biggestNumber = firstNumber;
} else {
  biggestNumber = secondNumber;
}

🚀 چالش

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


آزمون پس از درس

آزمون پس از درس

مرور و مطالعه شخصی

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

به ابزار فوق‌العاده جستجوی عملگر جاش کومو مراجعه کنید!

تکلیف

عملگرها


سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما برای دقت تلاش می‌کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادقتی‌هایی باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما هیچ مسئولیتی در قبال سوءتفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.