एक समय था जब मैं जावास्क्रिप्ट में लेट, कॉन्स्ट और वेर का व्यावहारिक उपयोग करता था और समझता था, लेकिन इसे शब्दों में समझाना चुनौतीपूर्ण था। यदि आप अपने आप को एक समान दुविधा में पाते हैं तो ध्यान केंद्रित करने के लिए मुख्य बिंदु हैं दायरे, उत्थापन, पुनर्प्रारंभीकरण और पुनर्असाइनमेंट में अंतर।
स्कोपिंग:
function varExample() { if (true) { var x = 10; // x is function-scoped } console.log(x); // Outputs: 10 } varExample(); if (true) { var y = 20; // y is globally scoped because it's outside a function } console.log(y); // Outputs: 20
function letExample() { if (true) { let x = 10; // x is block-scoped console.log(x); // Outputs: 10 } console.log(x); // ReferenceError: x is not defined } letExample(); if (true) { let y = 20; // y is block-scoped console.log(y); // Outputs: 20 } console.log(y); // ReferenceError: y is not defined
function constExample() { if (true) { const x = 10; // x is block-scoped console.log(x); // Outputs: 10 } console.log(x); // ReferenceError: x is not defined } constExample(); if (true) { const y = 20; // y is block-scoped console.log(y); // Outputs: 20 } console.log(y); // ReferenceError: y is not defined
उत्थान
होस्टिंग किसी कार्य को शुरू करने से पहले एक कार्यक्षेत्र स्थापित करने जैसा है। कल्पना कीजिए कि आप रसोई में हैं, खाना पकाने की तैयारी कर रहे हैं। खाना बनाना शुरू करने से पहले, आप अपनी सभी सामग्री और उपकरण काउंटर पर रख दें ताकि वे पहुंच के भीतर रहें।
प्रोग्रामिंग में, जब आप कोड लिखते हैं, तो जावास्क्रिप्ट इंजन वास्तव में इसे चलाने से पहले आपके कोड से गुजरता है और सभी चर और कार्यों को उनके दायरे के शीर्ष पर सेट करता है। इसका मतलब यह है कि आप फ़ंक्शंस और वेरिएबल्स को अपने कोड में घोषित करने से पहले उनका उपयोग कर सकते हैं।
तीनों (var, Let, और const) वास्तव में फहराए गए हैं। हालाँकि, अंतर इस बात में निहित है कि उत्थापन प्रक्रिया के दौरान उन्हें कैसे प्रारंभ किया जाता है।
var को अपरिभाषित के साथ फहराया और आरंभ किया गया है।
console.log(myVar); // Outputs: undefined var myVar = 10;
console.log(myLet); // ReferenceError: Cannot access 'myLet' before initialization let myLet = 10;
console.log(myConst); // ReferenceError: Cannot access 'myConst' before initialization const myConst = 20;
पुनर्असाइनमेंट और पुन:प्रारंभीकरण:
var x = 10; x = 20; // Reassignment console.log(x); // Outputs: 20 var x = 30; // Reinitialization console.log(x); // Outputs: 30
let y = 10; y = 20; // Reassignment console.log(y); // Outputs: 20 let y = 30; // SyntaxError: Identifier 'y' has already been declared
const z = 10; z = 20; // TypeError: Assignment to constant variable. const z = 30; // SyntaxError: Identifier 'z' has already been declared
const obj = { a: 1 }; obj.a = 2; // Allowed, modifies the property console.log(obj.a); // Outputs: 2 obj = { a: 3 }; // TypeError: Assignment to constant variable.
const arr = [1, 2, 3]; arr[0] = 4; // Allowed, modifies the element console.log(arr); // Outputs: [4, 2, 3] arr = [5, 6, 7]; // TypeError: Assignment to constant variable.
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3