JavaScript Logical Operators
⭐ JavaScript Logical Operators
در جاوااسکریپت سه عملگر منطقی اصلی وجود دارد:
-
&&(AND – و) -
||(OR – یا) -
!(NOT – نقیض)
این عملگرها بیشتر در شرطها، تصمیمگیریها و فیلتر کردن دادهها استفاده میشوند. اما در جاوااسکریپت رفتارهای بسیار مهمتری دارند چون فقط true/false برنمیگردانند؛ بلکه مقدار بازمیگردانند، نه صرفاً Boolean.
بیایید کامل بررسی کنیم 👇
🔶 1. Logical AND — &&
این عملگر زمانی true میشود که هر دو طرف آن Truthy باشند.
اما رفتار واقعی آن در جاوااسکریپت:
✔ اگر مقدار اول Falsy باشد، همان را برمیگرداند.
✔ اگر مقدار اول Truthy باشد، مقدار دوم را برمیگرداند.
مثالهای ساده:
true && true // true
true && false // false
بررسی مقدار:
“Hello” && 5 // 5
0 && “World” // 0
کاربردی:
let isLoggedIn = true;
let username = “Ali”;
console.log(isLoggedIn && username); // “Ali”
🔶 2. Logical OR — ||
این عملگر زمانی true است که حداقل یکی از مقادیر Truthy باشد.
رفتار واقعی در JS:
✔ اگر مقدار اول Truthy باشد → همان را برمیگرداند
✔ اگر مقدار اول Falsy باشد → مقدار دوم را برمیگرداند
مثال:
true || false // true
false || true // true
مثال مقدار:
“” || “Guest” // “Guest”
0 || 100 // 100
“Ali” || “Guest” // “Ali”
کاربرد معروف:
let name = userInput || “Default Name”;
🔶 3. Logical NOT — !
این عملگر مقدار Boolean را معکوس میکند.
مثال:
!true // false
!false // true
دو بار NOT برای تبدیل مقدار به Boolean واقعی (Casting):
!!“Hello” // true
!!0 // false
🔶 4. Short-Circuit Evaluation
رفتار مهمی که باعث هوشمندی کد میشود:
✔ AND (&&)
وقتی مقدار اول Falsy باشد، اجرا ادامه نمیدهد:
false && console.log(“This will NOT run”);
✔ OR (||)
وقتی مقدار اول Truthy باشد، اجرا ادامه نمیدهد:
“Hi” || console.log(“This will NOT run”);
🧠 Truthy و Falsy
برای فهم رفتار عملگرها باید بدانید:
Falsy values:
-
0 -
"" -
null -
undefined -
NaN -
false
هر چیز دیگری → Truthy
🔶 تفاوت مهم OR با Nullish (|| vs ??)
گرچه ?? مستقیماً عملگر منطقی نیست، اما بسیار مشابه است:
null ?? “default” // “default”
undefined ?? “default” // “default”
0 ?? “default” // 0
“” ?? “default” // “”
OR از Falsy ها استفاده میکند،
اما Nullish فقط null و undefined را بررسی میکند.
📝 خلاصه در یک جدول
| عملگر | توضیح کوتاه | رفتار اصلی |
|---|---|---|
&& |
AND | اولین مقدار Falsy را برمیگرداند |
| ` | ` | |
! |
NOT | معکوس Boolean |
دیدگاهتان را بنویسید