JavaScript में वैल्यू के मौजूद न होने का संकेत देने के कई तरीके हैं. यह पेज
दो सबसे सामान्य तरीकों के बारे में बताता है: null
और undefined
डेटा टाइप.
null
null
कीवर्ड, जान-बूझकर तय की गई वैल्यू का अभाव दिखाता है. null
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
एक प्रिमिटिव है, हालांकि typeof
ऑपरेटर बताता है कि null
एक ऑब्जेक्ट है.
यह एक ऐसी गड़बड़ी है जिसमें हुई गड़बड़ी
को जान-बूझकर छोड़ दिया गया है.
वेब पर सही तरीके से गड़बड़ियों को ठीक करने के लिए, समस्या को ठीक नहीं किया गया.
typeof null
> object
वैरिएबल को null
के तौर पर तय किया जा सकता है
इस उम्मीद के साथ कि यह या तो उसे असाइन की गई वैल्यू दिखाता है
पॉइंट या साफ़ तौर पर मौजूद न होने वाली वैल्यू डालें. आप null
को भी असाइन कर सकते हैं
मान को मौजूदा संदर्भ में बदलें.
undefined
undefined
एक शुरुआती मान है, जो वैरिएबल को असाइन किया जाता है
जिनका अभी-अभी एलान किया गया है या किसी कार्रवाई के नतीजे के तौर पर
काम की वैल्यू नहीं दिखाता. उदाहरण के लिए, ऐसा तब हो सकता है, जब आप
ब्राउज़र के डेवलपर कंसोल में इस फ़ंक्शन को एक्ज़ीक्यूट करें:
function myFunction() {}
> undefined
कोई फ़ंक्शन अपना return
स्टेटमेंट होने पर, साफ़ तौर पर undefined
दिखाता है
कोई मान नहीं देता है.
(function() {
return;
}());
> undefined
null
और undefined
की तुलना
हालांकि, undefined
और null
कुछ फ़ंक्शनल ओवरलैप कर रहे हैं, लेकिन उनमें ऐसा है
अलग-अलग मकसद के लिए बनाया गया है. सबसे सही शब्दों में, null
एक वैल्यू दिखाता है
इसे जान-बूझकर "खाली" कहा गया है, और undefined
, असाइन की गई कोई वैल्यू मौजूद नहीं है.
null
और undefined
बहुत कम बराबर हैं, लेकिन पूरी तरह से बराबर नहीं हैं.
लूज़ इक्वलिटी ऑपरेटर अलग-अलग तरह के ऑपरेंड को बूलियन बनाने के लिए इस्तेमाल करता है
वैल्यू, null
और undefined
, दोनों को false
बनाते हैं. सख्त बराबरी वाला ऑपरेटर
अलग-अलग डेटा टाइप के ऑपरेंड को असमान मानता है.
null == undefined
> true
null === undefined
> false
आरक्षित कीवर्ड null
के उलट, undefined
ग्लोबल ऑब्जेक्ट. यह एक डिज़ाइन था,
फ़ैसले लेने की प्रोसेस बहुत आसान थी. साथ ही, इसने पुराने ब्राउज़र को
undefined
को पूरी तरह ओवरराइट करें. मॉडर्न ब्राउज़र में, अब भी अलग-अलग वर्शन
गैर-ग्लोबल स्कोप में आइडेंटिफ़ायर के तौर पर undefined
. इसकी वैल्यू को
और उस एलान का दायरा भी तय कर सकते हैं. undefined
का इस्तेमाल आइडेंटिफ़ायर के तौर पर कभी न करें. यह
इससे अनचाहा व्यवहार हो सकता है. साथ ही, इससे आने वाले समय में,
आपका कोड बेस.
देखें कि आपको कितना समझ आया है
typeof null
से क्या नतीजे मिलते हैं?
object
undefined
primitive
string