How many Types of Variables in JavaScript
•21 min read

Categories of Variables in JavaScript
JavaScript variables can be categorized in two main ways:
1. Variable Declaration Types
var (Legacy)
Function-scoped and can be redeclared and reassigned. Hoisted to the top.
javascript
var name = "John";
var name = "Jane"; // Can be redeclared
name = "Bob"; // Can be reassigned
console.log(name); // BobJavaScriptlet (Block-scoped)
Cannot be redeclared in the same scope but can be reassigned. Preferred in modern JavaScript.
javascript
let age = 25;
// let age = 30; // Error: Identifier 'age' has already been declared
age = 30; // Can be reassigned
console.log(age); // 30JavaScriptconst (Block-scoped)
Cannot be redeclared or reassigned. Must be initialized at declaration.
javascript
const country = "USA";
// country = "Canada"; // Error: Assignment to constant variable
console.log(country); // USAJavaScript2. Data Types (Values Variables Can Hold)
Primitive Data Types
1. String
javascript
let name = "John";
let char = 'A';
let template = `Hello ${name}`;JavaScript2. Number
javascript
let age = 25;
let price = 99.99;
let negNum = -10;JavaScript3. Boolean
javascript
let isActive = true;
let isDeleted = false;JavaScript4. Undefined
javascript
let x;
console.log(x); // undefinedJavaScript5. Null
javascript
let user = null;
console.log(user); // nullJavaScript6. Symbol (Unique identifier)
javascript
let id = Symbol("id");
let another = Symbol("id");
console.log(id === another); // falseJavaScript7. BigInt (Large integers)
javascript
let largeNum = 123456789012345678901234567890n;
let bigNum = BigInt("9007199254740992");JavaScriptComplex Data Types (Objects)
1. Object
javascript
let person = {
name: "John",
age: 30,
city: "New York"
};JavaScript2. Array
javascript
let colors = ["red", "green", "blue"];
let mixed = [1, "hello", true, {name: "John"}];JavaScript3. Function
javascript
let greet = function(name) {
return `Hello ${name}`;
};JavaScript4. Date
javascript
let today = new Date();JavaScript5. RegExp (Regular Expression)
javascript
let pattern = /[a-z]+/g;JavaScriptComparison Table
FeaturevarletconstScopeFunctionBlockBlockRedeclarationYesNoNoReassignmentYesYesNoHoistingYes (undefined)Yes (TDZ)Yes (TDZ)
Best Practices
- Use const by default for variables that won't change
- Use let when you need to reassign values
- Avoid var in modern JavaScript
- Use meaningful variable names


