जावास्क्रिप्ट प्रकार त्रुटि

| | | | | | | | | | | | | | | | | | | | | | | |

जावास्क्रिप्ट में, एक TypeError एक ऐसी वस्तु है जो एक ऑपरेशन करने के परिणामस्वरूप एक त्रुटि का प्रतिनिधित्व करती है जिसे निष्पादित नहीं किया जा सकता है, आमतौर पर क्योंकि किसी ऑपरेशन में एक मान अपेक्षित प्रकार का नहीं होता है।

लेकिन क्या एक लड़का है? जावास्क्रिप्ट विनिर्देश के नवीनतम संस्करण, ईसीएमएस्क्रिप्ट के अनुसार, नौ प्रकार के डेटा और संरचना हैं। जिनमें से छह (कभी-कभी सात अगर गिनती शून्य है) आदिम डेटा प्रकार हैं, अर्थात् स्ट्रिंग, संख्या, बड़े, बूलियन, अपरिभाषित और प्रतीक। इससे पहले कि हम समझें कि किसी ऑपरेशन के दौरान TypeErrors क्यों आग लगती है, आइए जावास्क्रिप्ट में हमारे नौ प्रकारों पर एक नज़र डालें। यदि हम कभी ऐसी स्थिति में होते हैं जहाँ हम नहीं जानते कि किसी प्रकार को कैसे वर्गीकृत किया जाए, तो हम typeof ऑपरेटर का उपयोग कर सकते हैं।

< ol>
  • अपरिभाषित: एक प्रकार का मान जो स्वचालित रूप से नए घोषित चर में परिभाषित होता है। जब हम अपने वेरिएबल में कोई मान सेट करना या जोड़ना भूल जाते हैं तो हमें अक्सर एक अपरिभाषित प्रकार त्रुटि मान मिलता है।
  • बूलियन: तार्किक डेटा प्रकार जिसमें केवल सही या गलत मान होते हैं।
  • संख्या:। संख्यात्मक डेटा प्रकार
  • स्ट्रिंग:. गंभीर, एकल या दोहरे लहजे में वर्णों का क्रम
  • बिगइंट: डेटा प्रकार अंक जिन्हें कभी-कभी अन्य प्रोग्रामिंग भाषाओं में बिग्नम के रूप में जाना जाता है।
  • प्रतीक: प्रतीक को कॉल करके बनाए गए एक अद्वितीय पहचानकर्ता का प्रतिनिधित्व करने वाला मान फ़ंक्शन।
  • ऑब्जेक्ट: एक संरचनात्मक प्रकार और लगभग कुछ भी "नया" जो कीवर्ड बनाने में सक्षम है, जैसे कि एक सरणी, वस्तु, नक्शा, उपकरण, आदि।
  • कार्य: एक अन्य गैर-डेटा संरचना जो एक स्निपेट है जिसे कोड के अन्य भागों से कॉल किया जा सकता है
  • शून्य:। आमतौर पर किसी वस्तु या पते का प्रतिनिधित्व करने वाला एक जानबूझकर मूल्य जो मौजूद नहीं है। उस मान को बदलें जिसे बदला नहीं जा सकता है या जब मैं किसी मान का अनुपयुक्त उपयोग करता हूं। यह तब भी हो सकता है जब किसी फ़ंक्शन को तर्क पारित किया जाता है जो फ़ंक्शन के भीतर फ़ंक्शन या ऑपरेटर द्वारा अपेक्षित प्रकार के साथ असंगत है।

  • उस मान को संशोधित करना जिसे संशोधित नहीं किया जा सकता

    कब आप किसी चीज़ को मान निर्दिष्ट करने के लिए कॉन्स्टेबल कीवर्ड का उपयोग करते हैं, इसका मतलब है कि यह स्थिर है, यह नहीं बदलेगा। एक स्थिर चर का मान एक TypeError में परिणाम देगा।

    हम हल कर सकते हैं यह समस्या केवल उस पहचानकर्ता का नाम बदलकर जिसे हम "5" की स्ट्रिंग में पहचानना चाहते हैं।

    अनुचित मान का उपयोग करना

    डेवलपर्स को यह भी सुनिश्चित करना चाहिए कि मान अपेक्षा के अनुरूप उपयोग किया जाता है। निम्न उदाहरण में, "कैट" और "गारफ़ील्ड" तब उलट जाते हैं जब आप यह सत्यापित करने का प्रयास करते हैं कि क्या g arfield Cat () फ़ंक्शन का एक ` उदाहरण है।< br>

    हम दोनों के क्रम को सही करके इस समस्या को हल कर सकते हैं।

    एक तर्क जो किसी फ़ंक्शन द्वारा अपेक्षित प्रकार के साथ असंगत है

    एक ऑपरेशन को कोड करते समय, डेवलपर्स को वांछित परिणाम प्राप्त करने के लिए मूल्यों का उपयोग करना सुनिश्चित करना चाहिए। किसी ऑब्जेक्ट की अनुपस्थिति को इंगित करने के लिए नल का मान जानबूझकर उपयोग किया जा सकता है, लेकिन जिस तरह से इसका उपयोग नीचे किया जाता है, उसके परिणामस्वरूप एक TypeError होगा क्योंकि इसे फ़ंक्शन द्वारा अपेक्षित प्रकार के साथ असंगत तर्क के रूप में उपयोग किया जाता है।

    हम इस समस्या का समाधान एक प्रकार के मान को पास करके कर सकते हैं जिसका वह इंतजार कर रहा है। एक प्रकार के संख्यात्मक मान के रूप में।



    निष्कर्ष

    यह समझने में सक्षम होना महत्वपूर्ण है कि आपका कोड एक प्रकार की त्रुटि क्यों देता है ताकि आप यह पता लगा सकें कि कैसे इसे डीबग करें। यदि आप नहीं जानते कि किसी प्रकार को कैसे वर्गीकृत किया जाए, तो typeof ऑपरेटर आपको बेहतर ढंग से समझने के लिए नौ डेटा या संरचना प्रकारों में से एक लौटाएगा। यह कैसे करें। डिबगिंग के दौरान।