JavaScript में टाइप कोअर्शन
JavaScript एक लूज़ली टाइप्ड भाषा है, यानी यह एक डेटा टाइप की वैल्यू को अपने आप दूसरे डेटा टाइप में बदल सकता है। JavaScript में टाइप कोअर्शन को आम तौर पर एक फ़ीचर माना जाता है, लेकिन अगर इसे साफ़ तौर पर न समझा जाए तो यह उलझन भरे बग भी पैदा करता है, ख़ासकर उन डेवलपर के लिए जो Python जैसी दूसरी भाषाओं के आदी हैं।
टाइप कोअर्शन क्या है?
टाइप कोअर्शन या टाइप कन्वर्ज़न वैल्यू को एक डेटा टाइप से दूसरे डेटा टाइप में इम्प्लिसिट तरीके से या अपने आप बदलने की प्रक्रिया है। उदाहरण के लिए, संदर्भ के हिसाब से JavaScript किसी स्ट्रिंग को नंबर में या बूलियन को स्ट्रिंग में बदल सकता है। Python जैसी कई दूसरी कोडिंग भाषाओं की तुलना में JavaScript के जो फ़ीचर अनोखे हैं, टाइप कोअर्शन उनमें से एक है।
टाइप कोअर्शन कैसे काम करता है?
JavaScript में टाइप कोअर्शन दो तरह से काम करता है:
- इम्प्लिसिट कोअर्शन: इम्प्लिसिट टाइप या इम्प्लिसिट कन्वर्ज़न में JavaScript अपने आप टाइप बदल देता है, जैसे 1 + “2” का “12” (एक स्ट्रिंग) बन जाना, और यह बात सभी ऑपरेटर पर लागू होती है। यानी चाहे ऐसा करने का इरादा न हो, तब भी JavaScript डेटा टाइप अपने आप बदल देगा।
- एक्सप्लिसिट कोअर्शन: एक्सप्लिसिट टाइप में डेवलपर String(), Number() या Boolean() जैसे फ़ंक्शन की मदद से किसी टाइप को खुद बदलता है।
टाइप कोअर्शन से होने वाले एरर
बिना इरादे के हुआ टाइप कोअर्शन उलझाने वाले नतीजे दे सकता है। उदाहरण के लिए “5” – 1 का नतीजा 4 आना (क्योंकि स्ट्रिंग नंबर में बदल जाती है), या null == undefined का true होना, जबकि null === undefined का false होना। Python जैसी दूसरी भाषाओं के उलट, ऐसा होने पर अक्सर ऐसे बग पैदा हो सकते हैं जिन्हें ढूंढना मुश्किल होता है।
उदाहरण
- 1 + “2” → “12” (नंबर + स्ट्रिंग → स्ट्रिंग)
- “5” * 2 → 10 (स्ट्रिंग → नंबर) • true + 1 → 2 (बूलियन → नंबर)
- null == undefined → true
- [] + {} → “[object Object]”
JavaScript में टाइप कोअर्शन को समझने से ज़्यादा अनुमान लगाने लायक और बग-मुक्त JavaScript कोड लिखने में मदद मिलती है। चौंकाने वाले नतीजों से बचने के लिए स्ट्रिक्ट इक्वैलिटी (===) और एक्सप्लिसिट कन्वर्ज़न का इस्तेमाल करें।
