JavaScript: मान द्वारा या संदर्भ द्वारा पास करना? भ्रम को समझना
सभी को नमस्ते! मैं JavaScript में नया हूँ और समझ नहीं पा रहा हूँ कि फंक्शन में आर्गुमेंट्स वास्तव में कैसे पास होते हैं। कुछ लेखों में लिखा है कि JS सब कुछ मान (value) द्वारा पास करता है, दूसरों में लिखा है कि ऑब्जेक्ट्स संदर्भ (reference) द्वारा पास होते हैं। मैंने एक सरल कोड लिखा जिसने मुझे पूरी तरह से भ्रमित कर दिया।\n\nयहाँ एक उदाहरण है:\n\n```javascript\nfunction changeValue(x) {\n x = 10;\n console.log('फंक्शन के अंदर:', x);\n}\n\nlet a = 5;\nchangeValue(a);\nconsole.log('फंक्शन के बाद:', a); // 5 — सब स्पष्ट है, संख्या नहीं बदली\n```\n\nयह स्पष्ट है — प्रिमिटिव मान द्वारा पास होता है। लेकिन जब मैं ऑब्जेक्ट के साथ प्रयास करता हूँ:\n\n```javascript\nfunction changeObject(obj) {\n obj.name = 'नया नाम';\n}\n\nlet user = { name: 'पुराना नाम' };\nchangeObject(user);\nconsole.log(user.name); // 'नया नाम' — ऑब्जेक्ट बदल गया! तो ऐसा लगता है