JavaScript Variables & Constants Kya Hote Hain – JavaScript Variables & Constants

JavaScript Variables Kya Hote Hain?

Jab hume kisi bhi value ko store karna hota hai, toh hum variables ka use karte hain. JavaScript me 3 tareeke ke variables declare kiye ja sakte hain:

  • var → Purana tarika, jo ab avoid karna chahiye.
  • let → Naya aur behtar tarika, jo flexible aur safe hai.
  • const → Jab value change nahi karni ho tab iska use karte hain.

1. var – Old JavaScript Variable (Avoid Karna Chahiye)

Pehle JavaScript me sirf var hi hota tha, lekin isme scoping aur hoisting issues hote hain, jo unexpected bugs create kar sakte hain.

  • Function Scope hota hai (Sirf function ke andar work karta hai, block {} ke andar nahi)
  • Hoisting hoti hai (Memory me undefined ke sath reserve ho jata hai)
  • Redeclaration allowed hai (Ek hi naam ka variable phirse declare kar sakte hain)
  • Block scope nahi hota (Block {} ke andar declare hone ke baad bhi globally accessible hota hai)

Example 1 – var ka Block Scope Issue :

function testVar() {
    var x = 10;
    if (true) {
        var x = 20; // Yeh pura function ke andar x ki value change kar dega
        console.log("Inside if block:", x); // Output: 20
    }
    console.log("Outside if block:", x); // Output: 20
}
testVar();

Issue: var ka scope function level hota hai, block {} level nahi, is wajah se x ki value pura function me change ho gayi.

Example 2 – var Hoisting Problem :

console.log(a); // Output: undefined (kyunki hoisting hoti hai)
var a = 5;
console.log(a); // Output: 5

Explanation: JavaScript me var hoist hota hai, yaani variable ko code execute hone se pehle memory me allocate kiya jata hai, lekin bina kisi value ke undefined assign hota hai.

2. let – Modern JavaScript Variable (Best Practice)

JavaScript ke ES6 (ECMAScript 2015) version me let introduce kiya gaya, jo var ki problems ko solve karta hai.

  • Block Scope hota hai (Sirf {} block ke andar accessible hota hai)
  • Hoisting hoti hai but Initialization nahi hoti (Access karne se pehle initialize karna zaroori hai)
  • Redeclaration allowed nahi hoti (Ek hi naam ka variable dubara declare nahi kar sakte)

Example 1 – let ka Block Scope :

function testLet() {
    let y = 10;
    if (true) {
        let y = 20; // Yeh sirf is block ke andar accessible hai
        console.log("Inside if block:", y); // Output: 20
    }
    console.log("Outside if block:", y); // Output: 10
}
testLet();

Advantage: let ka scope block ke andar hi limited hota hai, jo ek safe approach hai.

Example 2 – let Hoisting Issue :

console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = 5;
console.log(b);

Explanation: let bhi hoist hota hai, lekin bina initialization ke access karna allowed nahi hai, is wajah se error aata hai.

3. const – Fixed Value Variable (Constant)

Jab hume ek fixed value store karni ho jo kabhi change na ho, tab const ka use karte hain.

  • Block Scope hota hai (Sirf {} block ke andar accessible hota hai)
  • Hoisting hoti hai but Initialization zaroori hoti hai
  • Value Change Allowed nahi hoti (Ek baar assign hone ke baad const ki value change nahi hoti)
  • Redeclaration allowed nahi hoti

Example 1 – const ka Use :

const PI = 3.1416;
console.log(PI); // Output: 3.1416
PI = 3.14; // Error: Assignment to constant variable.

Advantage: Jab ek baar value fix ho, toh const ka use karna best practice hai.

Example 2 – const with Objects and Arrays :

const ka use objects aur arrays me bhi hota hai, lekin object ki properties ya array ke elements change ho sakte hain, par pura object ya array reassign nahi ho sakta.

(a) Object Example :

const person = { name: "Rohan", age: 25 };
person.age = 26; // Allowed
person.name = "Amit"; // Allowed
person = { name: "Amit", age: 30 }; // Error: Assignment to constant variable

(b) Array Example :

const numbers = [1, 2, 3];
numbers.push(4); // Allowed
numbers[0] = 100; // Allowed
numbers = [5, 6, 7]; // Error: Assignment to constant variable

const ka use sirf constant reference ke liye hota hai, andar ki values modify ho sakti hain.

Difference Between var, let, and const

Feature var let const
Scope Function Scoped Block Scoped Block Scoped
Hoisting Hoisted with undefined Hoisted but not initialized Hoisted but not initialized
Can be Reassigned? Yes Yes No
Can be Redeclared? Yes No No

Best Practices – Kab Kya Use Karein?

  • Avoid var, kyunki isme scope aur hoisting problems hoti hain.
  • Use let, jab value ko change karne ki zarurat ho.
  • Use const, jab value constant ho aur change nahi karni ho.

Agar aap modern JavaScript use kar rahe hain, toh best practice yahi hai ki var ko avoid karein aur sirf let aur const ka use karein.

  • let best hai dynamic values ke liye.
  • const best hai fixed values ya objects/arrays ke liye.

Agar value change hone wali ho toh let, aur agar value fix hai toh const use karein.

Quiz: Test Your Knowledge on JavaScript Variables & Constants

Bonus: Practical Application!

Aaj hi JavaScript variables & constants ka istemal karke apni coding skills improve karein!

JavaScript variables & constants ko sahi tareeke se samajhne ke liye different types jaise var, let, const ka upayog karein aur apne code ko aur bhi efficient banayein.

 

Leave a Reply