मैं एक कस्टम जावास्क्रिप्ट वस्तु है कि मैं new
साथ बनाने के लिए है, और सृष्टि तर्कों के आधार पर करने के लिए गुण आवंटित:जावास्क्रिप्ट ऑब्जेक्ट पर किसी संपत्ति के अस्तित्व के परीक्षण के लिए सही तरीका क्या है?
function MyObject(argument) {
if (argument) {
this.prop = "foo";
}
}
var objWithProp = new MyObject(true); // objWithProp.prop exists
var objWithoutProp = new MyObject(false); // objWithoutProp.prop does not exist
वस्तुओं की prop
संपत्ति के अस्तित्व के लिए परीक्षण करने के लिए सही तरीका क्या है? मैंने देखा है निम्न तरीकों का इस्तेमाल किया है, लेकिन मुझे यकीन है कि अगर इन तरीकों में से किसी का सबसे अच्छा तरीका है नहीं कर रहा हूँ:
if (obj.prop) {}
if (obj.hasOwnProperty("prop")) {}
if ("prop" in obj) {}
विशेष रूप से, मैं एम केवल परीक्षण में रूचि रखता है अगर संपत्ति को इस वस्तु के लिए स्पष्ट रूप से परिभाषित किया गया है, प्रोटोटाइप श्रृंखला में नहीं। इसके अतिरिक्त, मान को कभी भी null
या undefined
पर सेट नहीं किया जाएगा, लेकिन यह एक खाली ऑब्जेक्ट या सरणी जैसा कुछ हो सकता है। हालांकि, यदि आप शामिल करना चाहते हैं तो सही तरीका क्या है यदि वे मामले हो सकते हैं, तो नि: शुल्क महसूस करें।