जैसा कि हम जानते हैं, JavaScript में वेरिएबल डिक्लेयर करने के लिए हमारे पास दो विकल्प हैं: var या let के साथ डिक्लेयर करें। अब सवाल यह है कि कब var और कब let का उपयोग करें यानी दोनों में मुख्य अंतर क्या है।
निम्न टेक्स्ट में हम JavaScript में var और let के बीच मुख्य अंतर जानेंगे।
let और var के बीच मुख्य अंतर यह है कि let से परिभाषित वेरिएबल का स्कोप उस ब्लॉक तक सीमित होता है जिसमें यह घोषित किया गया है जबकि var से घोषित वेरिएबल का ग्लोबल स्कोप होता है। इसलिए हम कह सकते हैं कि var एक ऐसा कीवर्ड है जो ब्लॉक स्कोप की परवाह किए बिना वेरिएबल को ग्लोबली परिभाषित करता है।
let का स्कोप न केवल उस ब्लॉक तक सीमित होता है जिसमें यह परिभाषित है बल्कि let वाले वेरिएबल ग्लोबल window ऑब्जेक्ट के साथ भी नहीं जुड़ते भले ही यह किसी ब्लॉक के बाहर घोषित हो। लेकिन हम var वाले वेरिएबल को window ऑब्जेक्ट से एक्सेस कर सकते हैं यदि यह ग्लोबली परिभाषित है।
सीमित स्कोप के कारण let वेरिएबल्स आमतौर पर तब उपयोग किए जाते हैं जब उन वेरिएबल्स का सीमित उपयोग होता है जैसे फॉर लूप्स, व्हाइल लूप्स या if कंडीशन्स के स्कोप के अंदर आदि जबकि var वेरिएबल का उपयोग तब किया जाता है जब वेरिएबल के मान को कम बदलने और ग्लोबली एक्सेस करने की आवश्यकता होती है।
इसके अलावा, var और let के बीच एक अंतर यह है कि var वाला वेरिएबल किसी अन्य मान के लिए पुनः घोषित किया जा सकता है जबकि let से परिभाषित वेरिएबल को पुनः घोषित नहीं किया जा सकता यदि यह पहले से घोषित है।
var और let के बीच अंतर दर्शाने वाला उदाहरण
let a = 'hello'; // ग्लोबली स्कोप्ड var b = 'world'; // ग्लोबली स्कोप्ड console.log(window.a); // undefined console.log(window.b); // 'world' var a = 'hello'; var a = 'world'; // कोई समस्या नहीं, 'hello' रिप्लेस हो जाता है। let b = 'hello'; let b = 'world'; // SyntaxError: Identifier 'b' has already been declared