JavaScript has two categories of data types: Primitive and Non-Primitive (Reference).
✅ 1. Primitive Data Types
Primitive types store single, immutable values.
🔹 Number
let a = 10;
let b = 3.14;
🔹 String
let name = "Teekam";
🔹 Boolean
let isLoggedIn = true;
🔹 Undefined
let x;
Declared but not assigned.
🔹 Null
let data = null;
Represents intentional absence of value.
🔹 Symbol (ES6)
const id = Symbol("id");
Used for unique identifiers.
🔹 BigInt
let big = 12345678901234567890n;
Used for very large integers.
✅ 2. Non-Primitive (Reference) Data Types
These store references, not actual values.
🔹 Object
const user = { name: "Teekam", age: 26 };
🔹 Array
const nums = [1, 2, 3];
🔹 Function
function greet() {}
🔹 Date
const today = new Date();
🔥 Key Differences
| Feature | Primitive | Reference |
|---|---|---|
| Stored as | Value | Reference |
| Mutable | ❌ No | ✔ Yes |
| Compared by | Value | Reference |
| Example | number, string | object, array |
🎯 Short Interview Answer
JavaScript has 7 primitive types:
Number,String,Boolean,Undefined,Null,Symbol, andBigInt.
And non-primitive types likeObject,Array, andFunction, which are stored by reference.
⭐ Tip
Use typeof to check most types:
typeof 10; // "number"
typeof "hi"; // "string"
typeof null; // "object" ❗ (JS bug)