var, let, and const explained In Hindi
जावास्क्रिप्ट वेब डेवलपमेंट स्क्रिप्ट लैंग्वेज में, var, let और const डाटा टाइप का उपयोग प्रोग्राम वेरिएबल डाटा टाइप को डिक्लेअर करने में किया जाता है. लेकिन मौजूदा वेब डेवलपमेंट स्क्रिप्ट में डिक्लेअर वेरिएबल स्कोप, रीअसाइनमेंट, और वेरिएबल के उपयोग मामले अलग अलग हो सकते हैं। जावास्क्रिप्ट वेब डेवलपर को बेहतर और क्लीन प्रोग्राम सोर्स कोड को लिखने के लिए इसे बेहतर समझना होगा।

var variable data type.
var डाटा टाइप जावास्क्रिप्ट प्रोग्रामिंग में वेरिएबल डिक्लेअर करने का एक सबसे पुराना तरीका है. var डाटा टाइप को ES5 और उससे पहले जावास्क्रिप्ट लैंग्वेज पेश किया गया था। var डाटा टाइप मौजूदा जावास्क्रिप्ट डाटा टाइप से कुछ अलग बिहेव करता है. जो कभी-कभार आपको कुछ अलग या अप्रत्याशित रिजल्ट प्रोडूस कर सकता है. इसलिए, वर्त्तमान समय में मॉडर्न जावास्क्रिप्ट वेब डेवलपमेंट लैंग्वेज में let या const डाटा टाइप वेरिएबल का उपयोग किया जाता है।
Main features of var data type in JavaScript.
- Function-scoped – जावास्क्रिप्ट प्रोग्राम में यदि var डाटा टाइप को किसी फ़ंक्शन के अंदर डिक्लेअर किया गया है, तो यह केवल उस मौजूदा फ़ंक्शन के अंदर ही कम्पेटिबल होता है। लेकिन, यदि इसे किसी फ़ंक्शन के बाहर डिक्लेअर किया जाता है, तो इस var डाटा टाइप वेरिएबल का स्कोप ग्लोबल हो जाता है।
- Can be redeclared – आप var वेरिएबल डाटा टाइप को एक ही वेरिएबल को एक ही प्रोग्राम स्कोप में कई बार फिर से डिक्लेअर किया जा सकता हैं।
- Hoisted – var वेरिएबल डाटा टाइप के साथ डिक्लेअर किए गए वेरिएबल अपने स्कोप के टॉप में डिस्प्ले होते हैं, इसका मतलब है कि वे अपनी डिक्लेरेशन से पहले कही से भी प्रोग्राम में एक्सेसिबल होते हैं, लेकिन इन्हे डिक्लेरेशन पर स्टार्ट किया जाता है।
var data type example in JavaScript programming.
var comp_name = “Vcanhelpsu”;
console.log(comp_name); // result is – Vcanhelpsu
var compname = “Vcandevelop”; // Here Redeclaring ‘compname’ is allowed with ‘var’variable data type
console.log(compname); // result is – vcandevelop
function sampleVar() {
var programming = “Javascript”;
console.log(programming); // result is – javascript
}
sampleVar();
console.log(programming); // Display Error: ‘programming’ is not defined (due to function scope)
Aspects of var data type usage.
- Redeclaration – जैसा की जावास्क्रिप्ट प्रोग्रामिंग लैंग्वेज में var डाटा टाइप वेरिएबल आपको कई री-डिक्लेरेशन की परमिशन प्रोवाइड करता है. तो कई बार यह बड़े प्रोग्रामिंग प्रोजेक्ट कोडबेस में कन्फ्लिक्शन या कन्फूशन क्रिएट कर सकता है।
- Hoisting behavior – जावास्क्रिप्ट प्रोग्राम में होइस्टिंग फीचर्स के कारण, var डाटा टाइप वेरिएबल के साथ डिक्लेअर किए गए वेरिएबल को उसकी डिक्लेरेशन से पहले कभी भी एक्सेस किया जा सकता है. जिससे आपको प्रोग्राम आउटपुट में कई अप्रत्याशित रिजल्ट मिल सकते हैं।
let Variable Data Type in JavaScript.
let डाटा टाइप वेरिएबल को जावास्क्रिप्ट में ES6 ECMAScript 2015 में पहली बार पेश किया गया था, और यह वर्त्तमान समय में जावास्क्रिप्ट वेरिएबल डाटा टाइप डिक्लेरेशन करने का एक मॉडर्न मेथड है। जावास्क्रिप्ट लैंग्वेज में let डाटा टाइप var डाटा टाइप वेरिएबल की तुलना में अधिक कम्पेटिबल और एक्सेसिबल है, जहा let डाटा टाइप का बिहेव var में कई प्रोब्लेम्स डेवलप हो सकती है।
Key features of let data type in JavaScript.
- Block-scoped – जावास्क्रिप्ट प्रोग्राम में let प्रोग्राम ब्लॉक सोर्स कोड कर्ली ब्रेसिज़ {} द्वारा संलग्न कोड तक ही लिमिटेड होते है, न कि केवल डिक्लेअर मौजूदा प्रोग्राम फ़ंक्शन तक। इसका अर्थ है कि let डाटा टाइप के साथ डिक्लेअर किया गया वेरिएबल केवल उस प्रोग्राम ब्लॉक के अंदर ही एक्सेसिबल है. जिसमें इसे जावास्क्रिप्ट प्रोग्रामर द्वारा डिक्लेअर किया गया था।
- Reassignable – जावास्क्रिप्ट प्रोग्राम में let-डिक्लेअर वेरिएबल वैल्यू को री-असाइन किया जा सकता हैं।
- Cannot be redeclared within the same scope – var वेरिएबल डाटा टाइप डिक्लेरेशन के विपरीत, आप let डाटा टाइप का उपयोग करके एक ही मौजूदा प्रोग्राम ब्लॉक या फ़ंक्शन के अंदर एक ही वेरिएबल को री-डिक्लेअर नहीं कर सकते।
- Hoisting – जावास्क्रिप्ट प्रोग्राम में let डाटा टाइप के साथ डिक्लेअर किए गए वेरिएबल ब्लॉक के टॉप लोकेशन में होइस्ट किए जाते हैं, पर याद रहे की, जब तक प्रोग्राम कोड एक्सेक्युशन let स्टेटमेंट तक नहीं पहुँच जाता है, तब तक उन्हें स्टार्ट नहीं किया जाता है। जहाँ प्रोग्रामर वेरिएबल डिक्लेरेशन होने से पहले वेरिएबल तक पहुँच नहीं सकते है।
Example of let data type in JavaScript programming.
let compname = “Vcanhelpsu”;
console.log(compname); // result is – vcanhelpsu
compname = “Vcandevelop”; // Reassigning ‘compname’ is allowed in let data type
console.log(compname); // result is – vcandevelop
if (true) {
let programming = “Javascript”;
console.log(programming); // result is – Javascript
}
console.log(programming); // Display Error – ‘programming’ is not defined (due to block scope)
Advantages of let data type in JavaScript.
- Block scoping – लेट डाटा टाइप में डिक्लेअर प्रोग्राम वेरिएबल उस ब्लॉक तक ही लिमिटेड उपयोग होते हैं, जिस प्रोग्राम ब्लॉक कोड में उन्हें डिक्लेअर किया गया है. जैसे, किसी प्रोग्राम लूप या कंडीशनल के अंदर, लेट डाटा टाइप सडनली ओवरराइट प्रोसेस और स्कोप से रिलेटेड एक्टिविटीज को स्टॉप करता है।
- No re-declarations within the same scope – लेट डाटा टाइप किसी प्रोग्राम में मिस्टेकली वेरिएबल को री-डिक्लेअर करने से रिलेटेड बग को कम करने में हेल्प करता है।
const Data Type in JavaScript.
जावास्क्रिप्ट प्रोग्राम में const डाटा टाइप को ES6 में भी पहली बार पेश किया गया था, और const डाटा टाइप का उपयोग जावास्क्रिप्ट में कांस्टेंट वेरिएबल डाटा टाइप को डिक्लेअर करने में किया जाता है. const डाटा टाइप ऐसे वेरिएबल है, जिन्हें एक बार किसी प्रोग्राम में डिक्लेअर करने के बाद फिर से असाइन या मॉडिफाई नहीं किया जाना चाहिए।
Key features of const data type in JavaScript.
- Block-scoped – जावास्क्रिप्ट में let डाटा टाइप की तरह ही, कॉन्स्ट डाटा टाइप वेरिएबल उसी ब्लॉक तक सीमित होते है, न कि मौजूदा प्रोग्राम फ़ंक्शन तक।
- Unable to be reassigned – जावास्क्रिप्ट प्रोग्राम में एक बार जब कोई वैरिएबल कॉन्स्ट के साथ डिक्लेअर या असाइन किया जाता है. तो उस const वेरिएबल की वैल्यू को री-असाइन नहीं किया जा सकता है।
- Unable to be redeclared – आप मौजूदा प्रोग्राम में उसी स्कोप में कॉन्स्ट वैरिएबल को री डिक्लेअर नहीं कर सकते है।
- Hoisting – जावास्क्रिप्ट प्रोग्राम में कॉन्स्ट डाटा टाइप वेरिएबल को होइस्ट किया जाता है, लेकिन जावास्क्रिप्ट में let डाटा टाइप के जैसे ही “टेम्पोरल डेड ज़ोन” मौजूद होता है, इसलिए आप इसे जावास्क्रिप्ट प्रोग्राम में डिक्लेरेशन से पहले इसे एक्सेस नहीं कर सकते है।
Examples of const data type in JavaScript.
const stud_name = “David”;
console.log(stud_name); // result is – david
stud_name = “Lalit”; // Display Error – New Value Assignment to constant variable
Working with Objects or Arrays with Const in JavaScript.
जावास्क्रिप्ट प्रोग्राम में कॉन्स्ट वैरिएबल ऑटोमेटिकली सेल्फ री-असाइन होने से स्टॉप करता है, लेकिन यह मौजूदा प्रोग्राम में ऑब्जेक्ट या ऐरे की कंटेंट को फ़्रीज़ नहीं करता है। तो आप अपनी प्रोग्राम डेवलपमेंट जरूरत के अनुसार अभी भी कॉन्स्ट के साथ डिक्लेअर ऑब्जेक्ट या ऐरे के प्रॉपर्टीज या एलिमेंट को मॉडिफाई कर सकते हैं।
const employee = { emp_name: “Rock”, emp_age: 43 };
employee.age = 47; // This is allow mutating the object
console.log(employee.age); // the result is – 47
employee = { empname: “David” }; // Display Error – Assignment to constant variable
Example With Array.
const Course = [“Javascript”, “Css”, “Java”, “Html”];
Course.push(“Ruby”); // This is allowed mutating the array
console.log(Course); // resutl is – [ ‘Javascript’, ‘Css’, ‘Java’, ‘Html’, ‘Ruby’ ]
Course = [“Python”, “Java”]; // Error: Assignment to constant variable
Advantages of const data type in JavaScript.
- Immutability (reassignment) – const डाटा टाइप वेरिएबल इस नियम को लागू करता है कि एक बार किसी प्रोग्राम में const डाटा टाइप वैरिएबल डिक्लेअर या सेट हो जाने के बाद, इसे फिर से मॉडिफाई नहीं जाना चाहिए।
- Predictability – यह मौजूदा प्रोग्राम में सडनली वैरिएबल री-असाइन होने के कारण प्रोग्राम एरर प्रोबेबिलिटी को कम करता है।
Var, let and const data type Comparison Summary.
Feature | Var data type | Let data type | Const data type |
Scope | Only Function-scoped | Only Block-scoped | Only Block-scoped |
Redeclaration | Var variable Allowed within the same scope | Let variable Not allowed within the same scope | Const variable Not allowed within the same scope |
Reassignment | Var variable Allowed | Let variable Allowed | Const variable Not allowed (constant) |
Hoisting | Var data type Hoisted to the top, initialized as undefined | Let data type Hoisted, but not initialized temporal dead zone | Const data type Hoisted, but not initialized temporal dead zone |
Uses of Multiple Data Types in JavaScript Conclusion.
- जावास्क्रिप्ट प्रोग्राम में जब किसी वेरिएबल की वैल्यू मॉडिफाई होगी। तो आप let डाटा टाइप का उपयोग करें।
- जावास्क्रिप्ट प्रोग्राम में जब किसी वेरिएबल का वैल्यू नहीं बदलना चाहिए, तो आप const डाटा टाइप वेरिएबल का उपयोग करें। जैसे, कांस्टेंट, या ऑब्जेक्ट/ऐरे का रेफ़्रेन्स देते समय जहां डिक्लेअर कंटेंट को मॉडिफाई किया जा सकता है।
- वर्त्तमान समय में जावास्क्रिप्ट प्रोग्रामिंग में var डाटा टाइप का उपयोग न करें। क्योंकि इसमें स्कोप और होइस्टिंग के साथ कई उपयोग समस्याएँ हो सकती हैं, जो किसी प्रोग्राम में बग या एरर क्रिएट कर सकती है.