डायनामिक रूप से टाइप किया गया होने के कारण, JavaScript अन्य कई भाषाओं की तुलना में मान की अनुपस्थिति को अलग तरह से संभालता है। undefined
कीवर्ड द्वारा दर्शाया गया यह बारीकियां, मजबूत और विश्वसनीय कोड लिखने के लिए महत्वपूर्ण है। यह लेख undefined
, सामान्य परिदृश्यों जहाँ यह दिखाई देता है, और null
से इसके अंतर का पता लगाता है।
विषयसूची
undefined
को समझना
JavaScript में, undefined
एक आदिम मान है जो इंगित करता है कि किसी चर को घोषित किया गया है लेकिन उसे कोई मान नहीं दिया गया है। यह एक अघोषित चर से अलग है; किसी अघोषित चर तक पहुँचने का प्रयास करने पर ReferenceError
उत्पन्न होता है। undefined
एक लापता मान को दर्शाता है, स्वयं कोई त्रुटि स्थिति नहीं। JavaScript स्वचालित रूप से घोषित लेकिन अनइनिशियलाइज़्ड चरों को undefined
असाइन करता है।
undefined
देने वाले परिदृश्य
कई स्थितियाँ किसी फलन या व्यंजक को undefined
लौटाने में परिणाम दे सकती हैं:
return
कथनों के बिना फलन: वे फलन जो स्पष्ट रूप सेreturn
कथन का उपयोग नहीं करते हैं, वे अंतर्निहित रूप सेundefined
लौटाते हैं।- गैर-मौजूद गुणों तक पहुँचना: किसी ऑब्जेक्ट पर मौजूद नहीं गुण तक पहुँचने का प्रयास करने पर
undefined
प्राप्त होता है। - सीमा से बाहर सरणी तत्वों तक पहुँचना: सरणी की लंबाई से अधिक या उसके बराबर सूचकांक का उपयोग करके सरणी तत्व तक पहुँचने पर
undefined
लौटाता है। - अनइनिशियलाइज़्ड चर: जैसा कि उल्लेख किया गया है, एक घोषित लेकिन अनइनिशियलाइज़्ड चर में
undefined
मान होता है। delete
ऑपरेटर: किसी ऑब्जेक्ट गुण परdelete
का उपयोग करने से गुण हट जाता है, जिससे उसकी जगहundefined
बच जाता है।
यहाँ इन परिदृश्यों को दर्शाने वाले कुछ कोड उदाहरण दिए गए हैं:
function myFunction() {
// कोई return कथन नहीं
}
let result = myFunction();
console.log(result); // आउटपुट: undefined
let myObject = { name: "John" };
console.log(myObject.age); // आउटपुट: undefined
let myArray = [1, 2, 3];
console.log(myArray[3]); // आउटपुट: undefined
let myVariable;
console.log(myVariable); // आउटपुट: undefined
let myObject2 = { name: "John", age: 30 };
delete myObject2.age;
console.log(myObject2.age); // आउटपुट: undefined
undefined
बनाम null
undefined
और null
दोनों एक सार्थक मान की अनुपस्थिति का प्रतिनिधित्व करते हैं, लेकिन वे सूक्ष्म रूप से भिन्न होते हैं:
undefined
: इंगित करता है कि किसी चर को घोषित किया गया है लेकिन उसे कोई मान नहीं दिया गया है। यह स्वचालित रूप से JavaScript द्वारा असाइन किया जाता है।null
: किसी मान की जानबूझकर अनुपस्थिति का प्रतिनिधित्व करता है। यह प्रोग्रामर द्वारा स्पष्ट रूप से असाइन किया जाता है।
हालाँकि अक्सर परस्पर उपयोग किए जाते हैं, undefined
एक अनजाने अनुपस्थिति का सुझाव देता है, जबकि null
एक जानबूझकर असाइनमेंट को दर्शाता है। वे अलग-अलग मान हैं; undefined === null
false
है।
अच्छे अभ्यास
डीबगिंग और स्वच्छ, अनुमानित कोड लिखने के लिए undefined
को समझना महत्वपूर्ण है। उपयुक्त होने पर स्पष्ट रूप से null
का उपयोग करने से कोड की पठनीयता और रखरखाव में सुधार होता है। अंतर्निहित undefined
मानों पर निर्भर रहने से बचें; इसके बजाय, किसी मान की जानबूझकर अनुपस्थिति को इंगित करने के लिए null
असाइन करें। इससे कोड की स्पष्टता में सुधार होता है और संभावित त्रुटियों को कम किया जाता है।