शून्य और तय नहीं है

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