عملگر && که AND منطقی گفته میشه بیشتر ماها با اون آشنایی داریم، اما شاید توضیح و کاربرد دقیقش رو ندونیم. دو یا چند عبارت رو درنظر بگیرید که ممکنه هر نوعی داشته باشن. مثلا رشته، عدد یا بولین. وقتی یک && بین دو یا چند عبارت قرار بگیره، بررسی میکنه که آیا همهی این عبارتها غیر false هستن یا نه و اگه هیچ کدوم از این مقادیر false نبودن، مقدار آخرین عبارت رو برمیگردونه. اما اگه یک کدوم از این عبارتها falsy بودن، مقدار اولین عبارت falsy رو برمیگردونه. به بیان سادهتر:
AND منطقی مقدار اولین عبارت falsy رو برمیگردونه و اگه عبارتی falsy نبود، مقدار آخرین عبارت رو برمیگردونه.
مثالهای زیر رو در نظر بگیرید:
true && true && true; // true true && true && false; // false null && false && undefined; // null "Hans" && "Alex" && "Ali"; // "Ali" true && true && "Ali"; // "Ali"
خروجی خط ۱ و ۲ که واضح هستن. خروجی مثال سوم null شده. چون اولین عبارت falsy هست بین این عبارات. توی مثال چهارم و پنجم هیچ کدوم از عبارتها falsy نیستن. پس مقدار آخرین عبارت که "Ali" هست برگردونده میشه.
منبع: