होम·एरर संदेश

chrome · JavaScript

संदेश

TypeError: items.map is not a function

इसका मतलब

वह नाम मौजूद है पर function नहीं है — अगर वह होता ही नहीं, तो संदेश undefined की बात करता। आम कारण: जिसे आपने array समझा वह असल में object या NodeList है, API array की जगह {data: [...]} लौटाता है, या module के default export का रूप आपने ग़लत समझा। अनुमान से पहले छापें: एक console.log(typeof items, items) इनमें से आधे मामले वहीं ख़त्म कर देता है। NodeList या Set को केवल Array.from(items) चाहिए; पर अगर वह {data: [...]} था, तो लपेटना ग़लत है और सही सुधार items = res.data है।

सुधार

इसका एक-लाइन कमांड नहीं है। व्याख्या में लिखा है कि क्या देखना है।

कौन देता है
chrome
JavaScript
15

browser और node की त्रुटियाँ आमतौर पर यही बताती हैं कि क्या टूटा, यह नहीं कि वह मान ऐसा क्यों बना — आपने undefined पढ़ा, वह function नहीं था, वह JSON नहीं था — इसलिए सुधार की जगह उस पंक्ति से ऊपर है जिसने त्रुटि फेंकी, और ?. तथा डिफ़ॉल्ट मानों से केवल उस पंक्ति को चुप कराने पर वही समस्या और दूर जाकर, और कठिन रूप में लौट आती है।

एरर संदेश कैसे पढ़ें

  • पहली पंक्ति से पढ़ें। जितना नीचे जाएँगे उतना वह औज़ार के भीतर की बात है; कारण आम तौर पर सबसे ऊपर लिखा होता है।
  • फ़ाइल का नाम और पंक्ति संख्या दिखे तो वहीं से शुरू करें — stack का सबसे ऊपरी frame नहीं, बल्कि वह सबसे ऊपरी पंक्ति जिसमें आपकी लिखी फ़ाइल का नाम हो।
  • संदेश को जैसा है वैसा खोजें, पर पहले अपने paths और variable नाम हटा दें — वही खोज को अटकाते हैं।
  • वही स्थिति औज़ार के हर संस्करण में अलग शब्दों में आती है। नतीजे बेमेल लगें तो संस्करण संख्या भी जोड़ें।
  • कोई सुधार चिपकाने से पहले देख लें कि वह क्या फेंक देगा। इनमें कुछ पलटे नहीं जा सकते।

अक्सर पूछे जाने वाले सवाल

Q. “TypeError: items.map is not a function” का क्या मतलब है?

वह नाम मौजूद है पर function नहीं है — अगर वह होता ही नहीं, तो संदेश undefined की बात करता। आम कारण: जिसे आपने array समझा वह असल में object या NodeList है, API array की जगह {data: [...]} लौटाता है, या module के default export का रूप आपने ग़लत समझा। अनुमान से पहले छापें: एक console.log(typeof items, items) इनमें से आधे मामले वहीं ख़त्म कर देता है। NodeList या Set को केवल Array.from(items) चाहिए; पर अगर वह {data: [...]} था, तो लपेटना ग़लत है और सही सुधार items = res.data है।

Q. इसे कैसे ठीक करें?

एक-लाइन कमांड नहीं है। ऊपर की व्याख्या में लिखा है कि क्या देखना है।

Q. यह कौन-सा औज़ार देता है?

chrome। यह JavaScript में आता है, और संदेश 6 शब्दों का है।

साथ आने वाले एरर