Yeh teen different tareeqay hain JavaScript mein variable bananay ke. Har ek ka apna scope aur rules hota hai.
var function scoped hota hai. Isay dobara declare aur reassign kiya ja sakta hai (lekin avoid karna chahiye).
var x = 10;
x = 20;
var x = 30; // ✅ Re-declaration allowedlet block scoped hota hai. Isay dobara assign kiya ja sakta hai, lekin dobara declare nahi kar saktay same block mein.
let y = 5;
y = 15; // ✅
let y = 25; // ❌ Errorconst bhi block scoped hota hai. Isay na to reassign kar saktay hain, na dobara declare.
const z = 100;
z = 200; // ❌ Errorvar declarations top par chali jati hain (hoist hoti hain), jabke let aur const Temporal Dead Zone mein hoti hain.
var declare honay se pehle undefined show hota hai:
console.log(a); // undefined
var a = 10;let ya const use karne se pehle error throw hota hai:
console.log(b); // ❌ ReferenceError
let b = 20;Agar koi condition true hai to kuch karo, warna else block chalay ga.
Check karo number positive hai ya nahi:
const num = -3;
if(num > 0){
console.log("Positive");
} else {
console.log("Not positive");
}Short form hai if/else condition ka — aik line mein likh saktay hain.
Age check kar ke message assign karo:
const age = 18;
const msg = age >= 18 ? "Adult" : "Minor";&& dono conditions true hoon to true return karta hai. || mein agar ek bhi true ho to true return hota hai.
Multiple conditions combine karke check karna:
if(isLoggedIn && isAdmin){
console.log("Welcome Admin");
}
if(age > 18 || hasPermission){
console.log("Access Granted");
}Kisi object ke nested property ko safely access karne ke liye ?. use karte hain — agar undefined ho to crash nahi hota.
Agar user ka kuch data missing ho to bhi app crash nahi karegi:
const user = { profile: { name: "Ali" } };
console.log(user.profile?.name); // Ali
console.log(user.settings?.theme); // undefined (✅ No crash)