$lang['tuto'] = "ट्यूटोरियल"; ?>$lang['tuto'] = "ट्यूटोरियल"; ?> JavaScript मधील let आणि var मधील

JavaScript मधील "let" आणि "var" मधील फरक समजून घेणे

JavaScript मधील let आणि var मधील फरक समजून घेणे
JavaScript मधील let आणि var मधील फरक समजून घेणे

JavaScript मध्ये व्हेरिएबल डिक्लेरेशन्स ग्रासिंग

JavaScript च्या जगात, let आणि var मधील फरक समजून घेणे स्वच्छ आणि कार्यक्षम कोड लिहिण्यासाठी महत्वाचे आहे. ECMAScript 6 मध्ये सादर केलेल्या, let स्टेटमेंटने व्हेरिएबल डिक्लेरेशनमध्ये एक नवीन आयाम जोडला आहे, ज्याचे वर्णन व्हेरिएबलच्या व्याप्तीवर अधिक नियंत्रण प्रदान करते.

दोन्ही असताना द्या आणि var व्हेरिएबल्स घोषित करण्यासाठी वापरले जातात, ते भिन्न वर्तन प्रदर्शित करतात जे आपल्या कोडवर लक्षणीय परिणाम करू शकतात. या लेखात, आम्ही हे फरक एक्सप्लोर करू आणि कधी वापरायचे याबद्दल मार्गदर्शन देऊ द्या ऐवजी var.

आज्ञा वर्णन
var व्हेरिएबल घोषित करते, वैकल्पिकरित्या ते मूल्यामध्ये आरंभ करते. हे फंक्शन-स्कोप्ड किंवा ग्लोबल स्कोप्ड आहे आणि ते पुन्हा घोषित आणि अपडेट केले जाऊ शकते.
let ब्लॉक-स्कोप केलेले लोकल व्हेरिएबल घोषित करते, पर्यायाने ते व्हॅल्यूमध्ये सुरू करते. त्याच कार्यक्षेत्रात ते पुन्हा घोषित केले जाऊ शकत नाही.
const ब्लॉक-स्कॉप्ड, केवळ-वाचनीय स्थिरांक घोषित करते. हे घोषणेच्या वेळी आरंभ करणे आवश्यक आहे आणि ते पुन्हा नियुक्त केले जाऊ शकत नाही.
writeHead Node.js मध्ये HTTP प्रतिसादासाठी स्थिती कोड आणि शीर्षलेख सेट करते.
createServer Node.js मध्ये HTTP सर्व्हर तयार करतो, जो विनंत्या ऐकू शकतो आणि प्रतिसाद देऊ शकतो.
listen निर्दिष्ट पोर्टवर येणाऱ्या कनेक्शनसाठी ऐकणे सुरू करण्यासाठी सर्व्हर सेट करते.
console.log कन्सोलवर संदेश मुद्रित करते, डीबगिंग हेतूंसाठी उपयुक्त.

सराव मध्ये "let" आणि "var" कसे वेगळे आहेत

फ्रंटएंड स्क्रिप्ट उदाहरण मधील मुख्य फरक स्पष्ट करते var आणि . मध्ये varTest फंक्शन, व्हेरिएबल var x इफ ब्लॉकमध्ये घोषित केले जाते आणि संपूर्ण फंक्शन स्कोपमध्ये समान व्हेरिएबल पुन्हा नियुक्त करते. हे दोन्ही कन्सोल लॉग 2 आउटपुट करते, कसे ते दाखवते var ब्लॉक स्कोपचा आदर करत नाही. याउलट, द कार्य घोषित करते let y इफ ब्लॉकच्या आत आणि बाहेर दोन्ही. द ब्लॉकमधील डिक्लेरेशन हे वेगळे व्हेरिएबल आहे, त्यामुळे ब्लॉक स्कोपचा आदर करून पहिला कन्सोल लॉग आउटपुट 2 आणि दुसरा कन्सोल लॉग आउटपुट 1.

बॅकएंड Node.js उदाहरण हे फरक दाखवण्यासाठी एक साधा HTTP सर्व्हर सेट करते. वापरत आहे var count जर ब्लॉकमध्ये, आम्ही ते पाहतो var बाह्य अधिलिखित करते count फंक्शन स्कोपमुळे व्हेरिएबल. द let message प्रत्येक ब्लॉकसाठी वेगवेगळे संदेश आउटपुट करून ब्लॉक-स्कोपिंग दाखवून, ब्लॉकच्या आत त्या ब्लॉकसाठी स्थानिक राहते. चा उपयोग createServer आणि listen कमांड सर्व्हर स्थापित करते, जे क्लायंटला प्रतिसाद लिहिते, व्यावहारिक अनुप्रयोगांचे प्रात्यक्षिक var आणि वास्तविक-जगातील परिस्थितींमध्ये.

JavaScript मध्ये "let" आणि "var" मधील फरक

फ्रंटएंड JavaScript उदाहरण

// Example demonstrating the difference between 'var' and 'let'
function varTest() {
    var x = 1;
    if (true) {
        var x = 2;  // same variable
        console.log(x);  // 2
    }
    console.log(x);  // 2
}

function letTest() {
    let y = 1;
    if (true) {
        let y = 2;  // different variable
        console.log(y);  // 2
    }
    console.log(y);  // 1
}

varTest();
letTest();

"let" आणि "var" सह स्कोपिंग समजून घेणे

Backend Node.js उदाहरण

व्याप्ती आणि उभारणीमध्ये खोलवर जा

तुलना करताना विचारात घेण्यासाठी आणखी एक महत्त्वाचा पैलू आणि var फडकवत आहे. Hoisting हे जावास्क्रिप्टचे वर्तमान व्याप्तीच्या शीर्षस्थानी घोषणा हलविण्याचे वर्तन आहे. सह var, व्हेरिएबल्स फडकावल्या जातात आणि त्यासह आरंभ केल्या जातात undefined, जे व्हेरिएबल त्याच्या घोषणेपूर्वी वापरले असल्यास अनपेक्षित परिणाम होऊ शकतात. याउलट, सुद्धा फडकवले जाते, परंतु ते सुरू केले जात नाही. याचा अर्थ ॲक्सेस करणे त्याच्या घोषणेपूर्वी व्हेरिएबलचा परिणाम होईल a ReferenceError.

याव्यतिरिक्त, लूपमध्ये बंद होण्याच्या समस्या टाळण्यास मदत करते. वापरताना var लूपमध्ये, सर्व पुनरावृत्ती समान व्हेरिएबलचा संदर्भ देतात, ज्यामुळे बग्स होऊ शकतात. तथापि, प्रत्येक पुनरावृत्तीसाठी नवीन बंधन तयार करते, प्रत्येक लूप पुनरावृत्तीची स्वतःची व्याप्ती आहे याची खात्री करून. हे वर्तन करते लूपमध्ये व्हेरिएबल्स घोषित करण्यासाठी एक सुरक्षित आणि अधिक अंदाज लावता येणारी निवड.

JavaScript मध्ये 'let' आणि 'var' बद्दल सामान्य प्रश्न

  1. JavaScript मध्ये hoisting म्हणजे काय?
  2. Hoisting हे JavaScript चे डिफॉल्ट वर्तन आहे जे सध्याच्या व्याप्तीच्या शीर्षस्थानी घोषणा हलवते. var घोषणा फडकवल्या जातात आणि प्रारंभ केल्या जातात undefined, तर घोषणा फडकावल्या जातात परंतु प्रारंभ केल्या जात नाहीत.
  3. आपण a वापरल्यास काय होते त्याच्या घोषणेपूर्वी व्हेरिएबल?
  4. प्रवेश करणे अ व्हेरिएबल त्याच्या घोषणेपूर्वी अ ReferenceError.
  5. करू शकतो आणि var त्याच कार्यक्षेत्रात पुन्हा घोषित केले जाईल?
  6. नाही, त्याच कार्यक्षेत्रात पुन्हा घोषित केले जाऊ शकत नाही, तर var त्याच कार्यक्षेत्रात पुन्हा घोषित केले जाऊ शकते.
  7. का आहे loops मध्ये श्रेयस्कर?
  8. लूपच्या प्रत्येक पुनरावृत्तीसाठी नवीन बंधन तयार करते, प्रत्येक लूप पुनरावृत्तीची स्वतःची व्याप्ती आहे याची खात्री करून. हे बंद होण्याशी संबंधित सामान्य बग प्रतिबंधित करते.
  9. करतो var आदर ब्लॉक व्याप्ती?
  10. नाही, var ब्लॉक स्कोपचा आदर करत नाही; ते फंक्शन-स्कोप्ड किंवा ग्लोबल स्कोप्ड आहे.
  11. टेम्पोरल डेड झोन म्हणजे काय?
  12. टेम्पोरल डेड झोन हा कार्यक्षेत्रात प्रवेश करणे आणि व्हेरिएबलची वास्तविक घोषणा यामधील वेळ आहे, ज्या दरम्यान प्रवेश करणे व्हेरिएबल फेकून देईल a ReferenceError.
  13. करू शकतो ४३ प्रमाणेच वापरावे ?
  14. होय, ४३ सारखे ब्लॉक-स्कोप केलेले आहे , परंतु हे व्हेरिएबल्स घोषित करण्यासाठी वापरले जाते जे पुन्हा नियुक्त केले जाऊ नयेत.
  15. केव्हा पाहिजे वर वापरले जाऊ var?
  16. वर वापरले पाहिजे var जेव्हा तुम्हाला ब्लॉक स्कोपची आवश्यकता असते आणि व्हेरिएबल हॉस्टिंग आणि क्लोजरच्या समस्या टाळण्यासाठी.

परिवर्तनीय घोषणांवरील अंतिम विचार

शेवटी, परिचय ECMAScript 6 मध्ये विकासकांना JavaScript मध्ये व्हेरिएबल डिक्लेरेशनसाठी अधिक मजबूत साधन प्रदान केले आहे. मधील फरक समजून घेणे आणि var स्वच्छ, अधिक देखरेख करण्यायोग्य कोड लिहिण्यासाठी आवश्यक आहे. असताना var तरीही काही विशिष्ट परिस्थितींमध्ये उपयुक्त ठरू शकते, बग्सची शक्यता कमी करून व्याप्ती आणि उभारणीवर चांगले नियंत्रण देते.

निवडून प्रती var योग्य परिस्थितींमध्ये, विकासक ब्लॉक-स्कोपिंगचा लाभ घेऊ शकतात आणि व्हेरिएबल डिक्लेरेशन आणि हॉस्टिंगशी संबंधित सामान्य अडचणी टाळू शकतात. आधुनिक JavaScript विकासात प्रभुत्व मिळवू पाहणाऱ्या प्रत्येकासाठी हे ज्ञान मूलभूत आहे.