जावास्क्रिप्ट में बूलियन प्रकार के साथ मूल्यों की तुलना

पिछले उदाहरण में, हमने तुलना के लिए ऑपरेटर === का उपयोग किया। इस मामले में, हमारा चर true के बराबर था मूल्य और प्रकार दोनों में।

इस तरह की तुलना के लिए, कोई ऑपरेटर == का भी उपयोग कर सकता है। यदि चर test में हमेशा true या false में से एक मान होगा, तो कुछ भी नहीं बदलेगा:

javascriptlet test = true; // यहाँ या तो true लिखें, या false

if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}

लेकिन अगर चर test में कोई भी मान आ सकता है, तो सब कुछ बहुत अधिक जटिल हो जाता है।

ऐसे मामले में, यदि चर test में बूलियन मान नहीं है, तो यह मान पहले बूलियन में परिवर्तित किया जाएगा और केवल उसके बाद तुलना की जाएगी।

मान लीजिए, उदाहरण के लिए, चर test में संख्या 1 है। इस मामले में यह पहले तार्किक प्रकार में परिवर्तित हो जाएगा, यानी true में। और फिर तुलना की जाएगी:

javascriptlet test = 1;

if (test == true) {
  console.log('+++'); // यह काम करेगा
} else {
  console.log('---');
}

लेकिन, उदाहरण के लिए, संख्या 0 false में परिवर्तित हो जाती है। और परिणामस्वरूप हरी शर्त 'गलत' आउटपुट करेगी:

javascriptlet test = 0;

if (test == true) {
  console.log('+++');
} else {
  console.log('---'); // यह काम करेगा
}

वास्तव में, ऐसी तुलना को स्पष्ट रूप से निम्नलिखित रूप में फिर से लिखा जा सकता है:

javascriptlet test = 1;

if (Boolean(test) == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 1

याद रखें और लिखें, कौन से मान तार्किक प्रकार में डालने पर false देते हैं।

Задание 2

कोड चलाए बिना निर्धारित करें कि कंसोल में क्या आउटपुट होगा:

javascriptlet test = 1;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

कोड चलाए बिना निर्धारित करें कि कंसोल में क्या आउटपुट होगा:

javascriptlet test = 0;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 4

कोड चलाए बिना निर्धारित करें कि कंसोल में क्या आउटपुट होगा:

javascriptlet test = 1;
    
if (test == false) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 5

कोड चलाए बिना निर्धारित करें कि कंसोल में क्या आउटपुट होगा:

javascriptlet test = 1;
    
if (test != true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 6

कोड चलाए बिना निर्धारित करें कि कंसोल में क्या आउटपुट होगा:

javascriptlet test = '';
    
if (test == false) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 7

कोड चलाए बिना निर्धारित करें कि कंसोल में क्या आउटपुट होगा:

javascriptlet test;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 8

कोड चलाए बिना निर्धारित करें कि कंसोल में क्या आउटपुट होगा:

javascriptlet test = 3 * 'a';
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}