लॉजिकल NOT (!) ऑपरेटर
! ऑपरेटर बूलियन मान को उलट देता है: true को false और false को true में बदलता है। यह किसी भी मान को बूलियन में कन्वर्ट करके फिर उलट देता है।
सत्यता तालिका
| मान | !मान | !!मान (डबल नेगेशन) |
|---|---|---|
| true | false | true |
| false | true | false |
| 0 | true | false |
| 1 | false | true |
| "" | true | false |
| "text" | false | true |
| null | true | false |
| undefined | true | false |
| [] | false | true |
उदाहरण
<html> <body> <p id="demo"></p> <script>
var x = 200;
var y = 300;
// x < y सत्य है, इसलिए !(x < y) असत्य
// x > y असत्य है, इसलिए !(x > y) सत्य
document.getElementById("demo").innerHTML =
!(x < y) + "<br>" + !(x > y);
</script> </body> </html>
आउटपुट
false true
व्यावहारिक उपयोग
<script>
// 1. बूलियन कन्वर्जन (डबल नेगेशन)
var isValid = !!userInput; // किसी भी मान को बूलियन में बदलता है
// 2. शर्त उलटना
if (!isLoggedIn) {
redirectToLogin();
}
// 3. फाल्सी वैल्यूज जांचना
if (!value) { // null, undefined, 0, "", false, NaN के लिए true
// डिफ़ॉल्ट मान सेट करें
}
// 4. टॉगल
isVisible = !isVisible;
</script>
ऑपरेटर प्रीसिडेंस
! का उच्च प्रीसिडेंस होता है, इसलिए !x < y का अर्थ (!x) < y होता है। तुलनाओं के लिए पैरेंथेसिस उपयोग करें: !(x < y)।