Understanding Object-Oriented Programming in JavaScript

Object-Oriented Programming (OOP) is a way of writing code where we organize data and behavior into objects. It helps developers build programs that are structured, reusable, and easier to maintain.
JavaScript supports Object-Oriented Programming through classes and objects, allowing us to model real-world entities in our code.
What Object-Oriented Programming (OOP) Means
Object-Oriented Programming is a programming approach where we create objects that contain both data and functions.
Data → stored as properties
Functions → stored as methods
Instead of writing many separate variables and functions, OOP lets us group related information together inside objects.
Real-World Analogy: Blueprint → Objects
A simple way to understand OOP is by using the idea of a blueprint.
Imagine a car factory.
The blueprint describes how a car should look and behave.
Many cars can be created from the same blueprint.
In programming:
Class → blueprint
Object → actual item created from the blueprint
Example:
Blueprint: Car
Objects: Car1, Car2, Car3
Each car has the same structure but can have different values.
What is a Class in JavaScript?
A class is a blueprint used to create objects.
It defines what properties and methods an object will have.
Example:
class Car {
constructor(brand, year) {
this.brand = brand;
this.year = year;
}
}
Here, the class Car describes the structure for creating car objects.
Creating Objects Using Classes
Objects are created using the new keyword.
Example:
const car1 = new Car("Toyota", 2022);
const car2 = new Car("Honda", 2021);
Now we have two objects created from the same class.
car1 → Toyota, 2022
car2 → Honda, 2021
This shows how classes allow us to reuse the same structure to create multiple objects.
The Constructor Method
The constructor is a special method inside a class.
It runs automatically when a new object is created and is used to initialize object properties.
Example:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
const person1 = new Person("Rahul", 21);
Here:
- name and age are assigned when the object is created.
Methods Inside a Class
Classes can also contain methods, which define the actions objects can perform.
Example:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log("Hello, my name is " + this.name);
}
}
const user = new Person("Rahul", 21);
user.greet();
Output:
Hello, my name is Rahul
Here, greet is a method that belongs to the Person class.
Basic Idea of Encapsulation
Encapsulation means keeping data and the functions that operate on that data together inside a class.
Instead of managing many separate variables and functions, we store everything inside one structure.
Example:
class Car {
constructor(brand) {
this.brand = brand;
}
start() {
console.log(this.brand + " car started");
}
}
The data (brand) and behavior (start) are bundled together, which makes the code easier to organize.
Why OOP is Useful
Object-Oriented Programming helps in:
Code reusability – use the same class to create many objects
Better organization – group related data and methods
Easier maintenance – structured code is easier to update
Modeling real-world entities
Practice Assignment
Try creating your own class to practice OOP concepts.
Task
Create a class called Student
Add properties name and age
Add a method that prints the student's details
Create multiple student objects
Example Solution
class Student {
constructor(name, age) {
this.name = name;
this.age = age;
}
printDetails() {
console.log(this.name + " is " + this.age + " years old.");
}
}
const student1 = new Student("Aman", 20);
const student2 = new Student("Neha", 22);
student1.printDetails();
student2.printDetails();
Output:
Aman is 20 years old.
Neha is 22 years old.
This example shows how one class can be used to create multiple objects with different data.




