JS Let
In this page:
let variableName = value;
variableName = newValue;
Block Scope
let variable केवल उसी सबसे नज़दीकी घुँघराले कोष्ठकों { } के भीतर मौजूद रहता है जिनमें वह है, चाहे वह if statement हो, loop हो या कोई अन्य code block, और उस block के बाहर पूरी तरह पहुँच से बाहर रहता है।
उदाहरण: Block Scope
if (true) {
let message = "Inside the block";
console.log(message);
}
// console.log(message); // ReferenceError: message is not defined
दोबारा Declaration नहीं
JavaScript एक ही scope में एक ही let variable नाम को दो बार घोषित करने की अनुमति नहीं देती, यह प्रतिबंध अनजाने में होने वाले नामों के टकराव पकड़ने में मदद करता है जो वरना उलझन भरे bugs पैदा कर सकते थे।
उदाहरण: No Redeclaration
let name = "Sam";
// let name = "Alex"; // SyntaxError: already declared
name = "Alex"; // reassignment is fine
console.log(name);
Temporal Dead Zone
Temporal dead zone किसी block की शुरुआत और उस असली line के बीच का समय है जहाँ let variable घोषित होता है, जिस दौरान variable तकनीकी रूप से मौजूद होता है पर उसे एक्सेस नहीं किया जा सकता, और ऐसा करने पर error आती है।
उदाहरण: The Temporal Dead Zone
// console.log(value); // ReferenceError: Cannot access before initialization
let value = 10;
console.log(value);
Loops के अंदर let
क्योंकि let block-scoped है, loop की हर iteration को let variable की अपनी नई प्रति मिलती है, जो loop के अंदर बनाए गए functions, जैसे event handlers या timers, के साथ काम करते समय बहुत मायने रखता है।
उदाहरण: let Inside Loops
for (let i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 0);
}
// Logs 0, 1, 2 - each iteration gets its own i
let बनाम var कब इस्तेमाल करें
आधुनिक JavaScript में, जिस भी value को बदलना पड़ता हो उसके लिए let आपकी डिफ़ॉल्ट पसंद होनी चाहिए, इसके block scoping और सख़्त नियम bugs की पूरी श्रेणियों को रोकते हैं जिन्हें var अनुमति देता है, जिससे पूरी टीम में code ज़्यादा पूर्वानुमेय बनता है।
उदाहरण: When to Use let vs var
// Declare the variable `total`, set to `0`
// Declare the variable `total`, set to `0`
let total = 0;
// Classic for-loop: `let i = 1; i <= 3; i++`
// Classic for-loop: `let i = 1; i <= 3; i++`
for (let i = 1; i <= 3; i++) {
total += i;
}
// Print `total` to the console
// Print `total` to the console
console.log(total);
Chapter Quiz — Complete all 12 topics to unlock
0/12 topics done
Complete these topics first: