null और undefined
आपने बूलियन सीखे — साफ़ हाँ या नहीं। प्रोग्राम को कभी यह भी कहना पड़ता है «यहाँ कोई मान नहीं।» JavaScript में दो आम खाली मान हैं: undefined और null। दिखने में मिलते-जुलते हैं, पर कहानी अलग है। यहाँ इन्हें अलग करते हैं ताकि आगे रूपांतरण और जाँच समझ में आएँ।
null और undefined में क्या अंतर है?
undefined आमतौर पर मतलब है «अभी कुछ रखा नहीं» — let से घोषित पर असाइन नहीं किया, या कोई हिस्सा गायब। null मतलब «जानबूझकर खाली»: आप (या कोई API) जगह साफ़ करने के लिए null लगाते हैं। typeof से जाँचें: typeof undefined है "undefined", पर typeof null पुरानी quirk "object" है। तुलना में === बेहतर। दोनों falsy हैं, पर बूलियन (true / false) नहीं।
खाली मानों का टूलकिट
📊 शुरुआती के लिए null बनाम undefined
| विचार | उदाहरण | परिणाम / नोट |
|---|---|---|
| गायब / असाइन नहीं | let x; फिर x |
undefined |
| जानबूझकर खाली | let box = null |
आपने खाली चुना |
typeof गायब |
typeof undefined |
"undefined" |
typeof खाली |
typeof null |
"object" (quirk — फिर भी खाली) |
| सख्त तुलना | box === null |
जब box में null हो तो true |
| ढीली तुलना | null == undefined |
== से true — स्पष्टता के लिए === चुनें |
undefined — अभी असाइन नहीं
let से नाम घोषित करें और कुछ न दें। मान undefined है। मान और typeof दोनों लॉग करें ताकि "undefined" लेबल याद रहे।
let nickname;
console.log(nickname);
console.log(typeof nickname);
null — जानबूझकर खाली
जब साफ़ संकेत «कोई मान नहीं» देना हो तो null लगाएँ। असाइन भूलने से यह अलग है।
let selected = null;
console.log(selected);
console.log(typeof selected);
typeof साथ-साथ
दोनों परिणाम एक जगह देखें। याद रखें: typeof null का "object" quirk है — अभी पूरा ऑब्जेक्ट पाठ नहीं।
console.log(typeof undefined);
console.log(typeof null);
let a;
let b = null;
console.log(typeof a);
console.log(typeof b);
null और undefined के लिए === चुनें
=== मान और प्रकार दोनों पूछता है। जब मतलब «ठीक null» या «ठीक undefined» हो तो इसे इस्तेमाल करें। == से null और undefined मेल खा सकते हैं — सीखते समय भ्रमित करता है।
let user = null;
let title;
console.log(user === null);
console.log(title === undefined);
console.log(user === undefined);
ढीला == दोनों को मिला सकता है
== से null और undefined मेल खाते हैं। एक बार लॉग करें — असली जाँच === पर रखें।
console.log(null == undefined);
console.log(null === undefined);
पहली पंक्ति true है क्योंकि == ढीला है। दूसरी false है। असली जाँच === से लिखें ताकि इरादा साफ़ रहे।
पेज पर दोनों खाली दिखाएँ
एक undefined-जैसा नाम और एक null रखें, फिर textContent से छोटे लेबल लिखें।
<!DOCTYPE html>
<html>
<head>
<title>null and undefined — labels</title>
</head>
<body>
<p id="out">…</p>
<script>
let title;
let avatar = null;
document.getElementById("out").textContent =
"title=" + title + " | avatar=" + avatar;
</script>
</body>
</html>
पैराग्राफ एक पंक्ति में दोनों खाली दिखाता है। सिर्फ avatar को छोटी स्ट्रिंग बनाएँ, रिफ़्रेश करें, और देखें दायाँ आधा बदलता है जबकि title undefined रहता है।
खुद आज़माएँ
let city;घोषित करें — बिना असाइनcityऔरtypeof cityलॉग करें।let bag = null;लगाएँ — मान औरtypeof bagलॉग करें ("object"quirk देखें)।typeof undefinedऔरtypeof nullसाथ लॉग करें।===से तुलना:nullवाला वेरिएबल बनामnullऔर बनामundefined।- एक बार
null == undefinedलॉग करें; असली जाँच===से लिखें। - HTML डेमो में
avatarको"pic.png"करें, रिफ़्रेश करें, नई पंक्ति पढ़ें।
आम गलतियाँ
nullऔरundefinedको हमेशा एक समझना — अर्थ अलग है (जानबूझकर बनाम असाइन नहीं)typeof null="object"पर घबराना — quirk;nullफिर भी जानबूझकर खाली- बिना देखे
==पर निर्भर रहना - इन्हें बूलियन कहना — खाली मान हैं; बूलियन सिर्फ
true/false - खाली स्ट्रिंग
""कोnullसे मिलाना —""अभी भी स्ट्रिंग है
सार
undefined: गायब / अभी असाइन नहीं;typeof→"undefined"null: जानबूझकर खाली जो आप लगाते हैं;typeof→"object"(quirk)- साफ़ जाँच के लिए
===चुनें; दोनों falsy हैं पर बूलियन नहीं - खाली स्ट्रिंग
""टेक्स्ट है —nullयाundefinedनहीं - अगला: टाइप कन्वर्ज़न — एक तरह के मान को जानबूझकर दूसरी तरह में बदलना
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी