मैं स्पष्ट रूप से अशक्त का चयन करेंगे, एक वस्तु जिसका आईडी बाद में वैसे भी अधिलेखित कर दिया गया है | नहीं करने के लिए:
var foo = {}; // empty object, has id etc.
var foo2 = null; // good practice, // filled with an object reference at a later time
var foo3;// undefined, I would avoid it
console.log(typeof foo);
console.log(typeof foo2);
console.log(typeof foo3);
null
डेटा टाइप (वस्तु), परिणाम
में पहचान करने के लिए अच्छा पठनीयता सुनिश्चित करता है
object
object
undefined
स्रोत (वेब डेवलपर्स 3 संस्करण के लिए व्यावसायिक जावास्क्रिप्ट):
किसी ऑब्जेक्ट को बाद में रखने के लिए एक चर को परिभाषित करते समय, यह है जिसे किसी भी चीज़ के विपरीत परिवर्तक को शून्य में प्रारंभ करने के लिए सलाह दी जाती है। इस तरह, आप स्पष्ट रूप से को मान शून्य के लिए जाँच कर सकते हैं यह निर्धारित करते हैं चर इस तरह के इस उदाहरण में बाद में किसी समय पर एक वस्तु संदर्भ से भर गया है,:
if (foo2 != null){
//do something with foo2
}
मूल्य अपरिभाषित अशक्त की एक व्युत्पन्न है, इसलिए ECMA-262 उन्हें परिभाषित करता है के रूप में इस अल्पज्ञता बराबर हो:
console.log(null == undefined); // prints true
console.log(null === undefined);// prints false
बस एक नोट ... मैं '" [वस्तु अशक्त] "' 'toString का परिणाम() लगता है हो सकता है कुछ ब्राउज़र असंगतताओं। –