यह एक दुर्लभ मामला है जिसमें जावास्क्रिप्ट ऐसा कुछ करता है जो वास्तव में समझ में आता है। पर विचार करें
x[3]++; // Valid
3++; // Not valid
तो आप के लिए यह कर भावना, तो क्या आश्चर्य की बात
के बारे में
[[]][0]++; // valid
[]++; // not valid
<array>[index]
"एक जगह" है कि आप कर सकते हैं या वेतन वृद्धि कर सकता है। बस इतना ही। तथ्य यह है कि आप a[<expr>]
बढ़ा सकते हैं इसका मतलब यह नहीं है कि आप <expr>
बढ़ा सकते हैं।
बेतुका बात यह है कि आप एक सूचकांक, संख्या 0
को एक खाली स्ट्रिंग ""
को सरणी परिवर्तित करने और उसके बाद का अर्थ है कि के रूप में उपयोग कर सकते हैं []
है, लेकिन इस जावास्क्रिप्ट का बेतुका अंतर्निहित रूपांतरण के प्रसिद्ध समस्या है । वे निहित रूपांतरण नियम जावास्क्रिप्ट का एक बड़ा हिस्सा हैं और उदाहरण के लिए 1 == [1]
या []==false
और (![])==false
दोनों का अर्थ है।
जावास्क्रिप्ट बहुत सारे स्थानों में शुद्ध बकवास है ... लेकिन वास्तव में यहां नहीं।
हाँ, मुझे लगता है कि बहुत से लोगों को डेव ब्लॉग को पढ़ने: https://davidwalsh.name/thinking-javascript –
क्योंकि जावास्क्रिप्ट। –
आप अन्यथा क्यों उम्मीद करेंगे? क्या आप समझा सकते हैं कि पहली पंक्ति को अपवाद क्यों फेंकना चाहिए, या दूसरी पंक्ति को क्या करना चाहिए जब यह नहीं होगा? – Bergi