एक जावास्क्रिप्ट रनटाइम त्रुटि में यह स्निपेट परिणाम: (foo
परिभाषित नहीं है)अपरिभाषित चर का उपयोग में अगर-बयान
if (foo) {
// ...
}
मैं, पहले foo
परिभाषित करने के लिए है, इसलिए जैसे:
var foo = foo || null // or undefined, 0, etc.
... और केवल तभी मैं कर सकता हूं:
if (foo) {
// ...
}
वह क्यों है?
अद्यतन:
यह चीजों की मेरी तरफ एक brainfart की कुछ हद तक था: 'fcourse आप एक चर जो आवंटित नहीं किया गया है का उपयोग नहीं कर सकते हैं।
मजेदार सामान जो आप एक अपरिभाषित चर पर एक प्रकार() कर सकते हैं। मैं miccet के उत्तर को स्वीकार कर रहा हूं क्योंकि मुझे लगता है कि यह सबसे सुंदर समाधान है।
[यह] (http://2ality.com/2013/04/check-undefined.html) 2ality लेख विभिन्न सिफारिश का उल्लेख है _undefined_ की जांच करने के तरीके, जिसमें इसे बूलियन संदर्भों में _falsy_ के रूप में व्याख्या करना शामिल है। – martieva