🔢
Basics

Data Types

string, number, boolean, null, undefined
💡 JavaScript mein data types "labels" hain jo batate hain kaunsi cheez kis kism ki hai — jaise ek dabbe par "fragile" ya "liquid" likha ho, taaki pata chale kaise handle karna hai.

Primitive types: string ("text"), number (integers AND decimals, ek hi type — Java jaisa int/float alag nahi), boolean (true/false), undefined (variable declare hua, value assign nahi hui), null (jaan-boojh kar "koi value nahi"), symbol (rare, unique identifiers ke liye).

typeof operator kisi bhi value ka type check karta hai. JavaScript "dynamically typed" hai — koi type declare nahi karna padta, aur variable apni lifetime mein type badal sakta hai.

let name = "Aarav";        // string
let age = 25;                  // number (int ya float, farq nahi)
let price = 19.99;             // number bhi
let isStudent = true;          // boolean
let nothing = null;              // jaan-boojh kar "kuch nahi"
let notSet;                      // undefined (value assign hi nahi hui)

console.log(typeof name);      // "string"
console.log(typeof age);       // "number"
console.log(typeof isStudent); // "boolean"
🔢
JavaScript mein data types "labels" hain jo batate hain kaunsi cheez kis kism ki hai — jaise ek dabbe par "fragile" ya "liquid" likha ho, taaki pata chale kaise handle karna hai.
1 / 2
⚡ Quick Recap
  • string/number/boolean = primitives, number mein int/float alag nahi
  • undefined = value set nahi hui, null = jaan-boojh kar khaali
  • typeof operator = kisi bhi value ka type check karo
On this page (2 subtopics)

NaN ek special value hai jo invalid math operations se aati hai (jaise "text" / 2) — confusingly, typeof NaN "number" hai! aur NaN === NaN bhi FALSE hai (ek unique JavaScript quirk). isNaN() ya Number.isNaN() se check karo.

console.log("hello" / 2);      // NaN
console.log(typeof NaN);         // "number" — confusing!
console.log(NaN === NaN);         // false — NaN kabhi khud ke barabar nahi

console.log(isNaN("hello"));     // true
console.log(Number.isNaN(NaN));  // true — zyada reliable check
⚠️Common Mistake: NaN === NaN false hai — ye JavaScript ka ek famous quirk hai. Kisi value ko NaN check karna ho, hamesha isNaN()/Number.isNaN() use karo, === se compare mat karo.

JavaScript automatically types convert karta hai kuch operations mein ("type coercion") — jaise "5" + 3 string concatenation karta hai ("53"), lekin "5" - 3 number subtraction karta hai (2). Ye unpredictable lag sakta hai agar samjha na jaaye.

console.log("5" + 3);    // "53" — + string concatenation karta hai
console.log("5" - 3);      // 2 — - hamesha numeric hai
console.log("5" * 2);      // 10 — * bhi numeric hai
console.log(1 + true);      // 2 — true "1" mein convert hota hai
💡Tip: + operator ka dual-behavior (concatenation ya addition) sabse confusing coercion case hai — agar ek bhi operand string hai, + concatenation karta hai. Explicit conversion (Number(), String()) se ambiguity avoid karo.