Avatar ·

JavaScript में let और var में क्या अंतर है? उदाहरणों के साथ समझाएं

नमस्ते! मैंने JavaScript सीखना शुरू किया है और मुझे भ्रम हो रहा है। मुझे पता है कि पहले सभी `var` के माध्यम से चर घोषित करते थे, लेकिन अब आधुनिक पाठ्यपुस्तकों में `let` की सिफारिश की जाती है। दोनों एक ही काम करते प्रतीत होते हैं — चर बनाना। लेकिन जब मैं कोड लिखता हूँ, तो वे अलग-अलग व्यवहार करते हैं। यहाँ एक उदाहरण है जिसने मुझे भ्रमित किया: ```javascript var x = 10; if (true) { var x = 20; // मुझे लगा यह एक नया चर है console.log(x); // 20 } console.log(x); // 20 — 10 क्यों नहीं? ``` अगर मैं `var` को `let` से बदल दूँ: ```javascript let x = 10; if (true) { let x = 20; console.log(x); // 20 } console.log(x); // 10 — और यहाँ 10 है, जैसा अपेक्षित था ``` ऐसा क्यों होता है? और मैंने 'hoisting' (उठाना) के बारे में भी सुना है — क्या यह भी इससे संबंधित है? कृपया एक शुरुआतकर्ता के लिए समझाएँ कि `let` का उपयोग कब करें और `var` का कब, और मुख्य अंतर क्या हैं। भविष्य में गलतियाँ न करने के लिए मेरे लिए यह समझना महत्वपूर्ण है। <<>>

मुख्य अंतर: scope (दायरा), hoisting (उठाना) और पुनः घोषणा