Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript ऑब्जेक्ट में किसी की के मौजूद होने की जांच करना


हमें यह दिखाना है कि किसी विशेष की के ऑब्जेक्ट में मौजूद होने या न होने की जांच करने का सही तरीका क्या है। सही तरीके पर जाने से पहले आइए पहले एक गलत तरीके की जांच करें और देखें कि यह वास्तव में गलत क्यों है।

तरीका 1: Undefined वैल्यू की जांच करना (गलत तरीका)

JavaScript की अस्थिर प्रकृति के कारण, हम किसी ऑब्जेक्ट में की के अस्तित्व की जांच इस तरह करना चाह सकते हैं -

const obj = { name: 'Rahul' };
if(!obj['fName']){}

या

if(obj['fName'] === undefined){}

ये दोनों गलत तरीके हैं। क्यों?

क्योंकि इस मामले में 'fName' की नहीं है, लेकिन मान लीजिए एक 'fName' मौजूद था जिसे जानबूझकर false या undefined पर सेट किया गया था।

हमारे फ़ंक्शन को लौटाना चाहिए था कि की मौजूद नहीं है लेकिन वास्तव में वे थीं। इसलिए ऐसे मामलों में यह तरीका विफल हो जाता है।

तरीका 2 - in ऑपरेटर का उपयोग करना (सही तरीका)

in कीवर्ड ES6 में पेश किया गया था जो किसी इटरेबल में एंट्री की जांच करता है। इसलिए, की के अस्तित्व की जांच के लिए, हम ऐसा कुछ कर सकते हैं -

('fName' in obj);

तरीका 3 - hasOwnProperty() मेथड का उपयोग करना (सही तरीका)

Object.prototype.hasOwnProperty() मेथड का उपयोग करके हम यह निर्धारित कर सकते हैं कि कोई ऑब्जेक्ट किसी की को समाहित करता है या नहीं।

इसका सिंटैक्स है -

obj.hasOwnProperty('fName'); 

तरीका 2 और तरीका 3 में अंतर सिर्फ इतना है कि तरीका 3 केवल उस ऑब्जेक्ट इंस्टेंस की प्रॉपर्टी की जांच करता है जिस पर इसे कॉल किया जाता है जबकि 'in' ऑब्जेक्ट इंस्टेंस प्रॉपर्टीज़ के साथ-साथ इनहेरिटेड प्रॉपर्टीज़ की भी जांच करता है (यदि कोई हैं)।



  1. जावास्क्रिप्ट में RegExp ऑब्जेक्ट जावास्क्रिप्ट में RegExp ऑब्जेक्ट

    RegExp ऑब्जेक्ट का उपयोग टेक्स्ट में पैटर्न मिलान, खोज और टेक्स्ट के भाग को निकालने के लिए किया जाता है। RegExp ऑब्जेक्ट को या तो RegExp कंस्ट्रक्टर या लिटरल सिंटैक्स का उपयोग करके बनाया जा सकता है। जावास्क्रिप्ट में RegExp ऑब्जेक्ट के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html la

  1. जावास्क्रिप्ट में ऑब्जेक्ट इनिशियलाइज़र जावास्क्रिप्ट में ऑब्जेक्ट इनिशियलाइज़र

    एक ऑब्जेक्ट इनिशियलाइज़र एक एक्सप्रेशन है जो हमें नए बनाए गए ऑब्जेक्ट को इनिशियलाइज़ करने की अनुमति देता है। यह एक ऑब्जेक्ट के प्रॉपर्टी नामों और संबंधित मानों के शून्य या अधिक जोड़ों की कॉमा-सेपरेटेड सूची है जो कर्ली ब्रेसेस {} में संलग्न होती है। जावास्क्रिप्ट में ऑब्जेक्ट इनिशियलाइज़र के लिए निम

  1. जावास्क्रिप्ट में कीप्रेस डिटेक्ट करने का सबसे सरल तरीका जावास्क्रिप्ट में कीप्रेस डिटेक्ट करने का सबसे सरल तरीका

    जावास्क्रिप्ट में कीप्रेस डिटेक्ट करने का सबसे आसान तरीका, onKeyPress इवेंट हैंडलर का उपयोग करें -document.onkeypressकी प्रेस का मिलान keyCode प्रॉपर्टी से किया जाता है, जो onkeypress इवेंट को ट्रिगर करने वाली कुंजी के यूनिकोड कैरेक्टर कोड को लौटाता है।उदाहरण  Document document.onkeyp