Javaस्क्रिप्ट वैरिएबल: उदाहरण के साथ मान घोषित करें, असाइन करें
⚡ स्मार्ट सारांश
Javaस्क्रिप्ट वैरिएबल नाम और संख्याओं जैसे मानों को, या किसी एक्सप्रेशन के परिणाम को स्टोर करते हैं। var, let, या const का उपयोग करके इन्हें घोषित करने से एक नामित स्लॉट आरक्षित हो जाता है जिसे स्क्रिप्ट का शेष भाग पढ़ और अपडेट कर सकता है।
वेरिएबल का उपयोग मानों (नाम = “जॉन”) या अभिव्यक्तियों (योग = x + y) को संग्रहीत करने के लिए किया जाता है। स्क्रिप्ट द्वारा बाद में उपयोग के लिए रखे जाने वाले प्रत्येक मान — उपयोगकर्ता नाम, कुल योग, हाँ या ना का संकेत — एक वेरिएबल में रहता है, इसलिए उन्हें सही ढंग से घोषित करना और नाम देना सबसे महत्वपूर्ण कौशल है जिसे सीखना चाहिए। Javaलिपि.
चर घोषित करें Javaलिपि
किसी वेरिएबल का उपयोग करने से पहले, आपको उसे घोषित करना होगा। वेरिएबल घोषित करने के लिए आपको var कीवर्ड का उपयोग करना होगा, जैसे कि:
var name;
घोषणा मात्र से नाम बनता है, इससे अधिक कुछ नहीं। इस समय वेरिएबल मौजूद तो होता है, लेकिन उसका मान 'अपरिभाषित' होता है, क्योंकि अभी तक उसमें कोई मान नहीं डाला गया है।
⚠️ संस्करण नोट: var मूल घोषणा कीवर्ड है और अभी भी सभी ब्राउज़रों में चलता है। ES6 (2015) ने इसे जोड़ा। चलो और constजो आधुनिक शब्द हैं Javaस्क्रिप्ट का उपयोग। दोनों की तुलना इस पृष्ठ पर नीचे दिए गए var से की गई है।
चर को एक मान निर्दिष्ट करें
आप चर को घोषित करते समय या चर घोषित करने के बाद मान निर्दिष्ट कर सकते हैं।
var name = "John";
OR
var name; name = "John";
दोनों रूपों का परिणाम एक ही होता है। केवल एक बराबर का चिह्न ही अंतिम परिणाम होता है। असाइनमेंट ऑपरेटरयह अपने दाईं ओर के मान को अपने बाईं ओर के चर में कॉपी करता है। यह समानता की जाँच नहीं है, जिसे == या === द्वारा दर्शाया जाता है और यह इससे संबंधित है। सशर्त बयान.
नामकरण चर
आप वेरिएबल्स को अपनी इच्छानुसार नाम दे सकते हैं, लेकिन प्रोग्रामिंग में यह एक अच्छी प्रथा है कि वेरिएबल्स को वर्णनात्मक और अर्थपूर्ण नाम दिए जाएं। इसके अलावा, वेरिएबल के नाम अक्षर से शुरू होने चाहिए और वे केस-सेंसिटिव होते हैं। इसलिए, studentname और studentName वेरिएबल अलग-अलग हैं क्योंकि नाम में अक्षर n अलग-अलग है (n और N)।
किसी नाम की वैधता निर्धारित करने के लिए चार नियम हैं:
- पहला अक्षर एक अक्षर, डॉलर का चिह्न या अंडरस्कोर होना चाहिए - अंक कभी नहीं होना चाहिए।
- पहले अक्षर के बाद, अक्षर, अंक, डॉलर चिह्न और अंडरस्कोर सभी की अनुमति है।
- शब्दों के बीच रिक्त स्थान की अनुमति नहीं है, इसलिए दो शब्दों के विचार को अलग-अलग लिखने के बजाय छात्र का नाम लिखकर जोड़ा जाता है।
- var, let, const, class और return जैसे आरक्षित शब्दों को नामों के रूप में दोबारा इस्तेमाल नहीं किया जा सकता है।
रिवाज के सन्दर्भ मे Javaस्क्रिप्ट के नामों में कैमलकेस का उपयोग किया जाता है, इसलिए पहला शब्द छोटा होता है और उसके बाद के प्रत्येक शब्द बड़े अक्षर से शुरू होते हैं: firstName, totalPrice, isLoggedIn।
नीचे दी गई स्क्रिप्ट दो वेरिएबल घोषित करती है, उन पर पाँच अंकगणितीय ऑपरेटर लागू करती है, और प्रत्येक परिणाम को पृष्ठ पर लिखती है। इसे स्वयं करके देखें:
<html>
<head>
<title>Variables!!!</title>
<script type="text/javascript">
var one = 22;
var two = 3;
var add = one + two;
var minus = one - two;
var multiply = one * two;
var divide = one/two;
document.write("First No: = " + one + "<br />Second No: = " + two + " <br />");
document.write(one + " + " + two + " = " + add + "<br/>");
document.write(one + " - " + two + " = " + minus + "<br/>");
document.write(one + " * " + two + " = " + multiply + "<br/>");
document.write(one + " / " + two + " = " + divide + "<br/>");
</script>
</head>
<body>
</body>
</html>
आधुनिक युग में var, let और const की तुलना Javaलिपि
केवल var ही मौजूद था जब Javaस्क्रिप्ट को पहली बार लिखा गया था, और इसमें दो ऐसी कमियां थीं जो शुरुआती लोगों को चौंका देती थीं: इसे चुपचाप पुनः घोषित किया जा सकता था, और यह ब्लॉक सीमाओं को अनदेखा करता था। इन दोनों कमियों को दूर करने के लिए let और const को जोड़ा गया। नीचे दी गई तालिका में तीनों कीवर्ड साथ-साथ दिखाए गए हैं।
| बिहेवियर | था | चलो | const |
|---|---|---|---|
| विस्तार | संपूर्ण कार्य | संलग्न ब्लॉक | संलग्न ब्लॉक |
| पुनः आवंटित किया जा सकता है | हाँ | हाँ | नहीं |
| इसे उसी दायरे में पुनः घोषित किया जा सकता है | हाँ | नहीं | नहीं |
| घोषणा पंक्ति पर आवश्यक मान | नहीं | नहीं | हाँ |
| घोषणा से पहले इसे पढ़ें | अपरिभाषित लौटाता है | संदर्भत्रुटि | संदर्भत्रुटि |
एक सरल आदत लगभग हर मामले में काम आती है: हाथ बढ़ाना const सबसे पहले, स्विच करें चलो जिस क्षण किसी मान में वास्तव में परिवर्तन होना आवश्यक होता है, जैसे कि किसी एक के अंदर का काउंटर। Javaस्क्रिप्ट लूपऔर नए कोड लिखने के बजाय पुराने कोड को पढ़ने के लिए var का उपयोग करें।
परिवर्तनीय कार्यक्षेत्र और उत्थापन Javaलिपि
स्कोप यह निर्धारित करता है कि स्क्रिप्ट के कौन से हिस्से किसी वेरिएबल को देख सकते हैं। var डिक्लेरेशन उस फ़ंक्शन से संबंधित होता है जिसमें वह मौजूद होता है, इसलिए यह उस फ़ंक्शन के अंदर मौजूद किसी भी if ब्लॉक या for ब्लॉक से बाहर रहता है। let या const डिक्लेरेशन उन ब्रैकेट्स से संबंधित होता है जिनके अंदर वह होता है और उनके बाहर गायब हो जाता है।
function demo() { if (true) { var wide = "visible throughout demo()"; let narrow = "visible only inside these braces"; } console.log(wide); console.log(narrow); }
पहला console.log अपनी स्ट्रिंग प्रिंट करता है। दूसरा ReferenceError देता है, क्योंकि if ब्लॉक समाप्त होने के बाद narrow मौजूद नहीं रहता।
उत्थापन यह कहानी का दूसरा भाग है। Javaस्क्रिप्ट किसी स्कोप की एक भी लाइन चलाने से पहले उस स्कोप में मौजूद हर डिक्लेरेशन को रजिस्टर करती है। एक वैरिएबल का नाम रजिस्टर किया जाता है और उसे अनडिफाइंड सेट किया जाता है, इसलिए उसे शुरुआत में पढ़ना कानूनी तो है लेकिन बेकार है। लेट या कॉन्स्ट का नाम बिना किसी वैल्यू के रजिस्टर किया जाता है, और ब्लॉक के शीर्ष और डिक्लेरेशन लाइन के बीच के गैप को कहा जाता है। अस्थायी मृत क्षेत्र.
console.log(a); var a = 1; console.log(b); let b = 2;
पहली पंक्ति में 'undefined' प्रिंट होता है। तीसरी पंक्ति में "Cannot access 'b' before initialization" त्रुटि आती है - यही वह त्रुटि है जो let को var से अधिक सुरक्षित बनाती है, क्योंकि यह त्रुटि को छिपाने के बजाय वास्तविक त्रुटि की ओर इशारा करती है।
घोषणा करते समय होने वाली सामान्य त्रुटियाँ Javaस्क्रिप्ट चर
वेरिएबल सीखते समय शुरुआती लोगों को कंसोल आउटपुट में दिखने वाले अधिकांश पाँच संदेश होते हैं। इनमें से प्रत्येक संदेश एक विशिष्ट कारण बताता है, इसलिए समाधान आमतौर पर एक ही पंक्ति में हो जाता है।
| कंसोल संदेश | कारण | फिक्स |
|---|---|---|
| सिंटैक्स त्रुटि: पहचानकर्ता 'x' पहले ही घोषित किया जा चुका है | एक ही ब्लॉक में एक ही नाम के लिए let या const का दो बार उपयोग | मौजूदा वेरिएबल का पुनः उपयोग करें, या दूसरे वेरिएबल का नाम बदल दें। |
| लेखन त्रुटि: स्थिरांक चर को असाइनमेंट | एक स्थिरांक को नया मान दिया गया | यदि मान में परिवर्तन करना हो तो उसे let के साथ घोषित करें। |
| संदर्भ त्रुटि: आरंभिकरण से पहले 'x' तक नहीं पहुँचा जा सकता | एक लेट या कॉन्स्ट को टेम्परल डेड ज़ोन के अंदर पढ़ा गया था। | नीचे दिए गए पाठ को घोषणा पंक्ति के नीचे ले जाएं |
| संदर्भ त्रुटि: x परिभाषित नहीं है | नाम कभी घोषित नहीं किया गया, या फिर उसमें वर्तनी की गलती थी। | इसे स्पष्ट करें, या वर्तनी और अक्षर के केस को सही करें। |
| जहां मान अपेक्षित था वहां अपरिभाषित दिखाई देता है | वेरिएबल घोषित तो किया गया था लेकिन उसे कभी असाइन नहीं किया गया। | पहली बार पढ़ने से पहले एक मान निर्दिष्ट करें |
किसी फ़ाइल के शीर्ष पर “use strict” जोड़ने से चौथे मामले का मौन संस्करण — यानी किसी ऐसे नाम को असाइन करना जिसे कभी घोषित नहीं किया गया — एक दृश्यमान त्रुटि में बदल जाता है, यही कारण है कि यह प्रत्येक नई स्क्रिप्ट में होना चाहिए। वही चर नियम अपरिवर्तित रूप से लागू होते हैं। सरणियों, वस्तुओंऔर सर्वर-साइड कोड लिखा गया है Node.js.
