प्रकार की ज़बरदस्ती और प्रकार की ढलाई प्रोग्रामिंग में मूलभूत अवधारणाएँ हैं जिनमें डेटा का एक प्रकार से दूसरे प्रकार में रूपांतरण शामिल है। प्रोग्रामिंग भाषाओं में, डेटा को विभिन्न प्रकारों में वर्गीकृत किया जाता है, जैसे पूर्णांक, तार, फ़्लोटिंग-पॉइंट नंबर और बूलियन। डेटा को एक प्रकार से दूसरे में परिवर्तित करने या मजबूर करने की क्षमता संचालन करने, डेटा में हेरफेर करने और प्रोग्राम के भीतर डेटा की संगतता और स्थिरता सुनिश्चित करने के लिए आवश्यक है।
जबरदस्ती टाइप करें:
टाइप कोर्सियन डेटा प्रकारों के स्वत: रूपांतरण को संदर्भित करता है जो जावास्क्रिप्ट में तब होता है जब विभिन्न प्रकार के डेटा एक ऑपरेशन में एक साथ उपयोग किए जाते हैं। उदाहरण के लिए, यदि एक संख्या और एक स्ट्रिंग को एक साथ जोड़ा जाता है, तो ऑपरेशन करने के लिए जावास्क्रिप्ट स्वचालित रूप से संख्या को एक स्ट्रिंग में बदल देगा।
const num = 5; const str = "3"; console.log(num + str); //output: "53"
उपरोक्त उदाहरण में, संख्या 5 स्वचालित रूप से स्ट्रिंग "5" में परिवर्तित हो जाती है ताकि इसे "53" आउटपुट देने के लिए स्ट्रिंग "3" से जोड़ा जा सके। ज़बरदस्ती के कुछ अन्य उदाहरणों में शामिल हैं:
- तुलना करने के लिए
==
या!=
ऑपरेटरों का उपयोग करना, जो तुलना करने से पहले प्रकार की ज़बरदस्ती करते हैं - किसी मान से पहले यूनरी प्लस (
+
) ऑपरेटर का उपयोग करने से संख्या के लिए प्रकार की ज़बरदस्ती की जाएगी। हालाँकि,+
चिह्न केवल एक बार दिखाई दे सकता है और उसके बाद खाली स्थान नहीं होना चाहिए।
उदाहरण के लिए:
const x = "5"; const y = +x; console.log(typeof y); // output: number
यह अक्सर माना जाता है कि जावास्क्रिप्ट में एक मूल्य की शुरुआत में यूनरी +
ऑपरेटर का उपयोग Number
फ़ंक्शन के लिए एक आशुलिपि है। बहरहाल, मामला यह नहीं। एक स्ट्रिंग को संख्या में बदलने के लिए यूनरी +
ऑपरेटर और Number
फ़ंक्शन दोनों एक ही एल्गोरिथ्म का उपयोग करते हैं, लेकिन सूक्ष्म अंतर हैं।
उदाहरण के लिए, जबकि +
एक BigInt
सामना करते समय एक TypeError
फेंक देगा, Number()
एक BigInt
का संख्या मान लौटाएगा लेकिन सटीकता के संभावित नुकसान के साथ। ज़बरदस्ती तब भी होती है जब आप स्ट्रिंग से पहले यूनरी नेगेशन ( -
) ऑपरेटर का उपयोग उसी तरह करते हैं।
if
स्टेटमेंट का उपयोग करना, जो तुलना करने से पहले बूलियन के लिए एक मान को मजबूर करेगा&&
का उपयोग करना,||
और?:
ऑपरेटर, जो ऑपरेशन करने से पहले एक बूलियन के लिए मूल्य को बाध्य करेगा।
कास्टिंग टाइप करें:
दूसरी ओर, टाइप कास्टिंग डेटा प्रकारों के स्पष्ट रूपांतरण को संदर्भित करता है। यह कास्टिंग फ़ंक्शंस जैसे Number()
, String()
, Boolean()
और Symbol()
का उपयोग करके किया जाता है
const str = '5'; const num = Number(str); console.log(num); //output: 5
इस उदाहरण में, चर num
प्रकार की है, लेकिन हमने String()
फ़ंक्शन का उपयोग करके इसे स्पष्ट रूप से एक स्ट्रिंग में परिवर्तित कर दिया है। आइए उनके उपयोग को प्रदर्शित करने के लिए उदाहरण कोड के साथ जावास्क्रिप्ट में कई प्रकार के कास्टिंग कार्यों पर एक नज़र डालें:
-
Number()
:Number()
फ़ंक्शन का उपयोग गैर-संख्यात्मक मान को संख्यात्मक मान में बदलने के लिए किया जाता है। उदाहरण के लिए, यदि आप "10" के एक स्ट्रिंग मान को एक संख्या में बदलना चाहते हैं, तो आप इस तरहNumber()
फ़ंक्शन का उपयोग करेंगे:
const x = "5"; const y = x+10 const z= Number(x)+10; console.log(y); // output: 510 console.log(z); // output: 15
-
parseInt()
:parseInt
फ़ंक्शन का उपयोग किसी मान को पूर्णांक में बदलने के लिए किया जाता है। यहNumber()
औरparseFloat()
से अलग है क्योंकि यह दशमलव के बाद किसी भी मान को अनदेखा करता है। उदाहरण के लिए:
const intValue = parseInt("3.14"); console.log(floatValue); // Output: 3
-
parseFloat()
:parseFloat()
फ़ंक्शन का उपयोग स्ट्रिंग मान को फ़्लोटिंग-पॉइंट नंबर में बदलने के लिए किया जाता है। यह कुछ मामलों को छोड़करNumber()
के समान है। आइए नीचे दिए गए उदाहरण को देखें कि कैसेparseFloat()
की तुलनाparseInt()
औरNumber()
से की जाती है:
console.log(parseInt('22.5')); // Output: 22 console.log(parseFloat('22.5')); // Output: 22.5 console.log(Number('22.5')); // Output: 22.5 console.log(parseInt('070')); // Output: 70 console.log(parseFloat('070')); // Output: 70 console.log(Number('070')); // Output: 70 console.log(parseInt('1234blue')); // Output: 1234 console.log(parseFloat('1234blue')); // Output: 1234 console.log(Number('1234blue')); // Output: NaN console.log(parseInt('0xFF')); // Output: 255 console.log(parseFloat('0xFF')); // Output: 0 console.log(Number('0xFF')); // Output: 255 console.log(parseInt("10 20 30")); // 10 console.log(parseFloat("10 20 30")); // 10 console.log(Number("10 20 30")); // NaN
-
String()
:String()
function का प्रयोग non-string value को string value में बदलने के लिए किया जाता है। नीचे दिए गए उदाहरण दिखाते हैं कि आप विभिन्न प्रकार के मानों को स्ट्रिंग में बदलने के लिएString()
फ़ंक्शन का उपयोग कैसे कर सकते हैं:
const num = 10; console.log(String(num)); // "10" const bool = true; console.log(String(bool)); // "true" const obj = {name: "John"}; console.log(String(obj)); // "[object Object]" const arr = [1, 2, 3]; console.log(String(arr)); // "1,2,3" const date = new Date(); console.log(String(date)); // "Sun Jan 29 2023 18:52:01 GMT+0000 (Coordinated Universal Time)"
-
Boolean()
:Boolean
फ़ंक्शन का उपयोग गैर-बूलियन मान को बूलियन मान में बदलने के लिए किया जाता है। उदाहरण के लिए, यदि आप 0 के किसी संख्या मान को बूलियन में बदलना चाहते हैं, तो आपBoolean()
उपयोग इस प्रकार करेंगे:
let value = 0; console.log(Boolean(value)); // false value = "hello"; console.log(Boolean(value)); // true value = undefined; console.log(Boolean(value)); // false value = {}; console.log(Boolean(value)); // true value = -1; console.log(Boolean(value)); // true
बस इतना ही, दोस्तों। मुझे उम्मीद है कि इस लेख ने जावास्क्रिप्ट में टाइप रूपांतरण के ins और outs को समझने में आपकी मदद की है। अब आपके पास एक ठोस समझ है कि अपने चर को अलग-अलग प्रकारों में स्पष्ट रूप से कैसे डालना है (कास्टिंग टाइप करें) साथ ही साथ जावास्क्रिप्ट इसे कैसे करता है (टाइप ज़बरदस्ती)।
इन कार्यों में महारत हासिल करने के लिए इनका अभ्यास और प्रयोग करते रहें। अपने किसी भी प्रश्न को लाइक, शेयर, फॉलो और कमेंट करना न भूलें। हैप्पी कोडिंग!
प्रो टिप:
अमूर्त समानता तुलना ==
के बजाय सख्त समानता तुलना ===
का उपयोग करें। विशेष रूप से अंकगणितीय परिचालनों में जावास्क्रिप्ट के निहित प्रकार के दबाव पर भरोसा करने से बचें , और जहां आवश्यक हो वहां हमेशा टाइप कास्टिंग का उपयोग करें।