خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه استفاده از عملگرهای منطقی در جاوا اسکریپت

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

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

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

عملگر منطقی و (&&).

عملگر AND (&&) یک عملگر منطقی است که اگر هر دو عملوند به درستی و در غیر این صورت نادرست ارزیابی شوند، true را برمی گرداند.

در اینجا نحو عملگر AND آمده است:

a && b

در اینجا یک مثال از عملگر AND در حال استفاده آورده شده است:

const a = 5;
const b = 10;
const c = 15;

const result_1 = (a < b) && (b < c);
console.log(result_1); // true

const result_2 = (a > b) && (b < c);
console.log(result_2); // false

در این مثال، result_1 به درستی ارزیابی می‌شود، زیرا دو عملوند در عبارت true ارزیابی می‌شوند. با این حال، result_2 به false ارزیابی می شود زیرا اولین عملوند (a > b) false را برمی گرداند.

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

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

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

مطلب مرتبط:   احراز هویت کاربر در NodeJS با استفاده از Passport و MongoDB

مقادیر نادرست در جاوا اسکریپت عبارتند از:

  • نادرست
  • خالی
  • تعریف نشده
  • NaN (عدد نیست)
  • 0
  • BigInt (0n)
  • رشته خالی (“” یا ” یا “)
  • تعریف نشده

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

با این حال، اگر عملوند اول درست باشد، عبارت به ارزیابی عملوند دوم می‌پردازد. اگر عملوند دوم true باشد، آن را برمی گرداند.

مثلا:

const a = 5;
const b = 'Hello';
const c = null;

const result_1 = a && b;
console.log(result_1); // "Hello"

const result_2 = c && b;
console.log(result_2); // null

در این مثال، result_1 به «Hello» ارزیابی می‌شود، زیرا هر دو عملوند در عبارت درست هستند. با این حال، result_2 اتصال کوتاه می‌کند و بدون ارزیابی عملوند دوم، صفر برمی‌گرداند.

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

عملگر منطقی OR (||).

عملگر OR (||) یک عملگر منطقی است که اگر و فقط اگر یک یا چند عملوند آن درست باشد، true را برمی گرداند. فقط زمانی false را برمی گرداند که هر دو عملوند نادرست باشند.

در اینجا نحو عملگر OR آمده است:

a || b

در اینجا مثالی از عملگر OR در حال استفاده آورده شده است:

const a = 5;
const b = 10;
const c = 15;

const result_1 = (a < b) || (b < c);
console.log(result_1); // true

const result_2 = (a > b) || (b < c);
console.log(result_2); // true

const result_3 = (a > b) || (b > c);
console.log(result_3); // false

در مثال بالا، result_1 به درستی ارزیابی می‌شود، زیرا هر دو عملوند در عبارت true ارزیابی می‌شوند. result_2 به درستی ارزیابی می‌شود زیرا عملوند دوم درست است. result_3 به false ارزیابی می شود زیرا دو عملوند در عبارت false ارزیابی می شوند.

مطلب مرتبط:   کار با متغیرهای محیطی در زنگ

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

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

مثلا:

const a = 5;
const b = 'Hello';
const c = null;

const result_1 = a || b;
console.log(result_1); // 5

const result_2 = c || b;
console.log(result_2); // "Hello"

const result_3 = c || " ";
console.log(result_3); // " "

در مثال بالا، result_1 اتصال کوتاه می‌کند و 5 را برمی‌گرداند زیرا یک مقدار واقعی است. result_2 «Hello» را برمی‌گرداند زیرا اولین مقدار حقیقتی است که در عبارت با آن مواجه می‌شود. result_3 یک رشته خالی را برمی گرداند زیرا آخرین مقدار نادرست در عبارت است.

اپراتور منطقی NOT (!).

عملگر منطقی NOT (!) یک عملگر یوناری است که مقدار بولی مخالف عملوند خود را برمی گرداند.

در اینجا نحو عملگر NOT آمده است:

!x

جایی که x یک مقدار بولی یا درستی یا نادرست است.

در اینجا یک مثال از عملگر NOT در حال استفاده آورده شده است:

const a = 5;
const b = '';
const c = true;

const result_1 = !a;
console.log(result_1); // false

const result_2 = !b;
console.log(result_2); // true

const result_3 = !c;
console.log(result_3); // false

در مثال بالا، عملگر NOT مقدار معکوس عملوندهای بولی را برمی گرداند. هنگامی که از عملگر NOT در زمینه های غیر بولی استفاده می کنید (نتیجه_1 و نتیجه_2)، این عملگر مقادیر true را به مقدار معکوس true و مقادیر falsy را به مقدار معکوس false تبدیل می کند.

مطلب مرتبط:   چگونه برنامه Spring خود را با Spring Security ایمن کنید

اپراتور Nullish Coalescing (??).

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

در یک نگاه، عملگر ادغام تهی ممکن است با عملگر منطقی OR (||) یکسان به نظر برسد، اما اینطور نیست. تفاوت اصلی این است که عملگر OR عملوند سمت راست را برمی گرداند اگر عملوند سمت چپ “هر” مقدار نادرست باشد، نه تنها تهی یا تعریف نشده باشد.

این روشی مختصر برای انتخاب یک مقدار پیش فرض در هنگام مواجهه با مقادیر تهی یا تعریف نشده ارائه می دهد.

در اینجا دستور عملگر ادغام تهی آمده است:

x ?? y

در اینجا مثالی از عملگر ادغام تهی در حال استفاده آورده شده است:

const name = null;
const defaultName = "John Doe";

const result_1 = name ?? defaultName;
console.log(result_1); // "John Doe"

const age = 0;
const defaultAge = 25;

const result_2 = age ?? defaultAge;
console.log(result_2); // 0

در مثال بالا، result_1 «John Doe» را برمی‌گرداند زیرا اولین عملوند مقدار null داشت. result_2 0 را برمی‌گرداند زیرا، اگرچه یک مقدار نادرست است، اما نه تهی است و نه تعریف نشده است.

استفاده از عملگرهای منطقی در کد شما

عملگرهای منطقی معمولاً برای نوشتن عبارات شرطی، تخصیص مقادیر پیش فرض یا تغییر مقادیر بولی بر اساس شرایط استفاده می شوند.

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