"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावास्क्रिप्ट में ऑब्जेक्ट वाले ऐरे के लिए `टाइपऑफ़` \"ऑब्जेक्ट\" क्यों लौटाता है?

जावास्क्रिप्ट में ऑब्जेक्ट वाले ऐरे के लिए `टाइपऑफ़` \"ऑब्जेक्ट\" क्यों लौटाता है?

2024-11-08 को प्रकाशित
ब्राउज़ करें:113

Why Does `typeof` Return \

विरोधाभास को समझना: ऑब्जेक्ट के साथ टाइपऑफ ऐरे "ऑब्जेक्ट" क्यों लौटाता है

डेवलपर्स को एक आश्चर्यजनक घटना का सामना करना पड़ सकता है: जब किसी ऐरे पर टाइपऑफ का आह्वान किया जाता है ऑब्जेक्ट युक्त होने पर, यह बेवजह "सरणी" के बजाय "ऑब्जेक्ट" लौटाता है। यह आलेख इस प्रतीत होता है विरोधाभासी व्यवहार पर प्रकाश डालता है।

एक उदाहरण की जांच करके, आइए इस मुद्दे को स्पष्ट करें:

$.ajax({
    url: 'http://api.twitter.com/1/statuses/user_timeline.json',
    data: { screen_name: 'mick__romney'},
    dataType: 'jsonp',
    success: function(data) {
        console.dir(data); //Array[20]
        alert(typeof data); //Object
    }
});

जबकि console.dir(data) वेरिएबल को एक सरणी के रूप में सही ढंग से पहचानता है, typeof डेटा असंगत रूप से "ऑब्जेक्ट" लौटाता है।

स्पष्टीकरण जावास्क्रिप्ट के विशिष्ट विनिर्देश में निहित है, जहां typeof ऑपरेटर ऑब्जेक्ट की आंतरिक [[क्लास]] संपत्ति का प्रकार लौटाता है। सरणियों के मामले में, उनकी [[क्लास]] संपत्ति "ऐरे" पर सेट होती है, लेकिन जब वस्तुओं से घिरी होती है, तो [[क्लास]] संपत्ति "ऑब्जेक्ट" में बदल जाती है।

सटीक प्रकार की जांच सुनिश्चित करने के लिए , डेवलपर्स विभिन्न तरीकों को नियोजित कर सकते हैं:

  • ऐरे का डेटा इंस्टेंस: जांचता है कि क्या वेरिएबल ऐरे प्रकार का एक उदाहरण है।
  • Array.isArray(data): विशेष रूप से डिज़ाइन की गई एक विधि निर्धारित करें कि क्या कोई ऑब्जेक्ट एक सरणी है। .isArray(डेटा): एक jQuery-विशिष्ट फ़ंक्शन जिसे सरणियों की जांच करने के लिए डिज़ाइन किया गया है।
  • इस विशिष्टता को समझकर और इन तकनीकों का उपयोग करके, डेवलपर्स अपने जावास्क्रिप्ट कोड में ऑब्जेक्ट्स के सरणियों को प्रभावी ढंग से संभाल सकते हैं।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3