Skip to main content

Command Palette

Search for a command to run...

Understanding Object-Oriented Programming in JavaScript

Updated
•4 min read•View as Markdown
Understanding Object-Oriented Programming in JavaScript

When programs become bigger, managing code becomes difficult.
We need a way to organize data and behavior in a structured way.

This is where Object-Oriented Programming (OOP) comes in.

OOP helps developers write code that is organized, reusable, and easier to manage.

Let’s understand this concept step by step using very simple examples.


1. What Object-Oriented Programming (OOP) means

Object-Oriented Programming is a programming style where we organize code using objects.

Objects contain:

  • Data (properties)

  • Behavior (methods)

For example, a car has:

  • Properties → color, brand, speed

  • Methods → start(), stop(), accelerate()

In OOP, we group these things together inside objects.

In simple words:

OOP = organizing code using objects that contain data and actions.


2. Real-world analogy (blueprint → objects)

To understand OOP clearly, think of a car blueprint.

A blueprint describes:

  • What the car will look like

  • What features it will have

But the blueprint itself is not a real car.

From one blueprint, we can create many cars.

Example:

  • Car 1 → Red Toyota

  • Car 2 → Blue Honda

  • Car 3 → Black BMW

The blueprint is called a Class, and the real cars are called Objects.

So the idea is:

Class = Blueprint
Object = Real instance created from the blueprint


3. What is a class in JavaScript

In JavaScript, a class is used to define a blueprint for creating objects.

Example:

class Car {
  constructor(brand, color) {
    this.brand = brand;
    this.color = color;
  }
}

Here:

  • Car is the class

  • It defines what properties each car will have.

Classes help us create multiple objects with the same structure.


4. Creating objects using classes

Once a class is defined, we can create objects using the new keyword.

Example:

const car1 = new Car("Toyota", "Red");
const car2 = new Car("Honda", "Blue");

Now we have two objects:

  • car1

  • car2

Each object has its own values.

Example:

console.log(car1.brand); 

Output:

Toyota

So multiple objects can be created from the same class.


5. Constructor method

A constructor is a special method used to initialize objects.

It runs automatically when an object is created.

Example:

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

When we create an object:

const person1 = new Person("Rahul", 25);

The constructor assigns:

  • name = Rahul

  • age = 25

So the constructor helps set initial values.


6. Methods inside a class

Classes can also contain methods, which define behavior.

Example:

class Car {
  constructor(brand) {
    this.brand = brand;
  }

  start() {
    console.log(this.brand + " is starting...");
  }
}

Creating an object:

const car1 = new Car("Toyota");

car1.start();

Output:

Toyota is starting...

Methods define what an object can do.


7. Basic idea of encapsulation

Encapsulation means keeping data and methods together inside an object.

Instead of spreading code everywhere, everything related to an object stays in one place.

Example:

class Student {
  constructor(name, marks) {
    this.name = name;
    this.marks = marks;
  }

  showResult() {
    console.log(this.name + " scored " + this.marks);
  }
}

Here:

  • Student data → name, marks

  • Student behavior → showResult()

Everything related to the student is inside the Student class.

This makes code easier to understand and reuse.


Conclusion

Object-Oriented Programming helps organize code in a structured and reusable way.

Key ideas to remember:

  • OOP uses objects to organize code

  • Classes act as blueprints

  • Objects are created using the new keyword

  • Constructor initializes object properties

  • Methods define behavior

  • Encapsulation keeps related data and behavior together

Understanding OOP is an important step toward writing clean, scalable JavaScript applications.
Thank you for giving your valuable time....