"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > ++[[]][+[]]+[+[]] का परिणाम जावास्क्रिप्ट में स्ट्रिंग "10" में क्यों होता है?

++[[]][+[]]+[+[]] का परिणाम जावास्क्रिप्ट में स्ट्रिंग "10" में क्यों होता है?

2024-12-23 को प्रकाशित
ब्राउज़ करें:706

Why Does   [[]][ []] [ []] Result in the String

जावास्क्रिप्ट में अप्रत्याशित स्ट्रिंग संयोजन

जावास्क्रिप्ट में, अजीब अभिव्यक्ति [[]][ []] [ []] आश्चर्यजनक रूप से उत्पन्न होती है स्ट्रिंग "10"। इस व्यवहार के पीछे की जटिल प्रक्रिया को समझने के लिए इसके व्यक्तिगत घटकों को तोड़ने की आवश्यकता है:

  [[]]
 
[ []]

पहले घटक का अनावरण: [[]]

उपसर्ग वृद्धि ऑपरेटर अपने ऑपरेंड को एक से बढ़ाता है और बढ़ा हुआ परिणाम लौटाता है। इस मामले में, ऑपरेंड [[]] है, जो खाली सरणी ([]) का मूल्यांकन करता है। किसी सरणी को बढ़ाना तर्कसंगत नहीं है, लेकिन जावास्क्रिप्ट ऑपरेटर का उपयोग करके सरणी को एक संख्या में परिवर्तित करके ऐसे मामलों को समायोजित करता है।

रूपांतरण को समझना: [[]]

ऑपरेटर, जब किसी सरणी पर लागू होता है, तो उसे एक संख्या में बदलने का प्रयास करता है। हालाँकि, एक खाली सरणी झूठ का मूल्यांकन करती है, जो संख्या 0 में जमा हो जाती है। इस प्रकार, [[]] 0 के बराबर हो जाता है, या बस 0.

दूसरा घटक: [ []]

उसी तर्क का पालन करते हुए, [ []] भी खाली सरणी को परिवर्तित करता है 0.

इसे एक साथ लाना: (0 1) [0]

बढ़ी हुई अभिव्यक्ति 1 (0 1) हो जाती है, जिसे बाद में [0] में जोड़ा जाता है। जावास्क्रिप्ट में, सरणियों को उनके तत्वों को अल्पविराम से जोड़कर स्ट्रिंग में ज़ब्त किया जा सकता है। इसलिए, [0] "0" के बराबर है (एक तत्व के साथ एक सरणी में शामिल होने से तत्व स्वयं में परिणामित होता है)। अब 1 "0" हो गया है, जिसे जावास्क्रिप्ट स्ट्रिंग के रूप में संयोजित करने का प्रयास करता है। परिणाम "10" है। ]

[] खाली सरणी को 0 (संख्या) में परिवर्तित करता है।

एक से वृद्धि करने पर परिणाम 1 होता है। (संख्या).

सरणी में शामिल होने से [0] "0" (स्ट्रिंग) उत्पन्न होता है।

संख्या 1 और 0 को जोड़ने से वे स्ट्रिंग में जुड़ जाते हैं, जिसके परिणामस्वरूप "1" और "0, "क्रमशः।

स्ट्रिंग्स को जोड़ने पर "10" प्राप्त होता है।

    अपनी प्रतीत होने वाली जटिल उपस्थिति के बावजूद, अभिव्यक्ति चिपक जाती है जावास्क्रिप्ट ऑपरेटरों के प्राथमिकता नियमों की तुलना में अधिक प्राथमिकता के साथ। ऐसे अभिव्यक्तियों को प्रभावी ढंग से डीबग करने के लिए इन प्राथमिकता नियमों को समझना महत्वपूर्ण है।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3