संक्षिप्त जवाब:
नहीं , वे समान नहीं हैं।
लेकिन यह:
if (!fields) {
...
}
इस प्रकार है:
if ((fields === null) || (fields === undefined) || (fields === 0) || (fields === '') || (fields === NaN) || (fields === flase)) {
...
}
लंबे (और बेहतर) उत्तर:
आइए सबसे पहले सत्य और मिथ्या मूल्यों की बात करते हैं।
यह सब तब होता है जब आप एक बूलियन के रूप में किसी चीज का मूल्यांकन करते हैं। जावास्क्रिप्ट में, यह तब होता है जब आप if
बयान जैसी चीजों का उपयोग करते हैं ; तार्किक ऑपरेटरों की तरह ||
, !
या &&
; या Boolean()
समारोह।
Boolean()
समारोह एक मूल्य या नहीं और फिर स्वीकार करता है true
या false
।
उदाहरण के लिए:
var age = 1; // Let's evaluate age as a boolean
Boolean(age); // true
आगे बढ़ो और इसे नोड उत्तर में आज़माएं।
बूलियन केवल किया जा सकता है true
या false
है, तो के रिटर्न मान Boolean()
चाहिए या तो true
या false
। इस मामले में, हम मूल्य में पारित हुए 1
, और जब एक बूलियन के रूप में मूल्यांकन किया जाता 1
है true
।
महत्वपूर्ण: जब एक बूलियन के रूप में मूल्यांकन किया जाता है, तो एक मूल्य सही या गलत होना चाहिए। वे केवल दो विकल्प हैं।
जावास्क्रिप्ट में, केवल 6 झूठे मूल्य हैं। मान false
जब एक बूलियन के रूप में मूल्यांकन किया जाएगा । वे हैं: false
, 0
, ""
, null
, undefined
, और NaN
। इसलिए अगर इनमें से किसी भी मूल्य का मूल्यांकन एक बूलियन के रूप में किया जाता है, तो वे गलत होंगे:
Boolean(false) // false
Boolean(0) // false
Boolean("") // false
Boolean(null) // false
Boolean(undefined) // false
Boolean(NaN) // false
इसका मतलब यह है कि जावास्क्रिप्ट में किसी भी अन्य मूल्य, true
जब एक बूलियन के रूप में मूल्यांकन किया जाएगा । तो जावास्क्रिप्ट में हर दूसरे मूल्य सत्य है।
ऑपरेटर boolean
का उपयोग करके कुछ के रूप में मूल्यांकन करने का एक और आसान तरीका है !
। Boolean
फ़ंक्शन की तरह , यह एक बूलियन के रूप में एक मूल्य का मूल्यांकन करता है। लेकिन सत्य मूल्य बन जाते हैं false
और मिथ्या मूल्य बन जाते हैं true
।
!false // true
!0 // true
!"" / true
!null // true
!undefined // true
!NaN // true
फिर से, नोड उत्तर या कुछ और में यह सुनिश्चित करने के लिए प्रयास करें कि आप समझ रहे हैं।
तो यह कथन:
if (!fields) {
...
}
निम्नलिखित कह रहा है: "यदि fields
, जब एक बूलियन के रूप में मूल्यांकन किया जाता है, गलत है, तो इस कथन के अंदर कोड चलाएं।"
अपने पहले बयान के लिए के रूप में:
var fields = options.fields || ['id', 'query'];
आप तार्किक या ऑपरेटर के साथ काम कर रहे हैं, जो यह सुनिश्चित करने के बारे में पढ़ने लायक है कि आप क्या समझते हैं। https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators