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

توی این قسمت موارد زیر رو یاد می‌گیریم:

 

ما از این عملگرها بیشتر توی شرط‌ها و حلقه‌ها مثل if و while که توی قسمت‌های بعدی مفصل با اونها آشنا می‌شیم استفاده می‌کنیم 😉

قبل از شروع بهتره که با مقدارهای falsy و truthy آشنایی داشته باشیم:

 

عملگر Logical AND یا &&

این عملگر که به صورت && هست اگه بین دو مقدار قرار بگیره، خروجی برابر با اولین مقدار falsy هست. اگه هیچ کدوم از مقدارها falsy نباشن، آخرین مقدار به عنوان خروجی در نظر گرفته میشه. به مثال زیر دقت کنین:

0 && "Hello";

توی این مثال، اولین مقدار یعنی 0 یک مقدار falsy هست. پس خروجی کل این عبارت برابر با 0 هست. حتی اگه مقدارها رو جابجا کنیم خروجی باز هم 0 خواهد بود:

"Hello" && 0;

حالا مثال زیر رو در نظر بگیرین:

true && "Hello";

اینجا ما هیچ مقدار falsy نداریم. پس خروجی برابر با آخرین مقدار یعنی رشته Hello هست. از کد زیر دکمه ► رو بزنین تا خروجی‌ها رو ببینین:

const expr1 = 0 && "Hello";
const expr2 = "Hello" && 0;
const expr3 = true && "Hello";

alert(expr1);
alert(expr2);
alert(expr3);

توی کدهای بالا ما دو عبارت داشتیم. می‌تونیم بیشتر از دو عبارت هم داشته باشیم که به‌وسیله && به هم متصل شدن:

12 && "hello" && null && undefined;

توی این کد اولین عبارت falsy برابر با null هست. پس خروجی این کد null در نظر گرفته میشه. اما توی کد زیر که هیچ کدوم از عبارت‌ها falsy نیستن: