Skip to main content

Command Palette

Search for a command to run...

Understanding Object-Oriented Programming in JavaScript

Updated
•3 min read•View as Markdown

As programs grow larger, managing code becomes difficult if everything is written in a single place. Developers solve this by organizing code using Object-Oriented Programming, usually called OOP.

OOP is a way of structuring programs using objects that represent real-world things.

Instead of writing random functions and variables everywhere, OOP allows us to group data and behavior together.

Real-World Analogy

A simple way to understand OOP is using the idea of a blueprint.

Think about a car factory.

Before a car is created, engineers first design a blueprint that describes:

  • color

  • engine

  • speed

  • features

Using this blueprint, the factory can produce many cars.

Each car is an object, but all of them follow the same blueprint.

In programming:

  • Class → Blueprint

  • Object → Actual product created from the blueprint

Object diagram

This helps Us understand that classes define structure and objects are instances of that structure.

What is a Class in JavaScript

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

It describes what properties and behaviors an object will have.

Example:

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

Here we created a class called Person. The class describes what information every person object will contain.

Creating Objects from a Class

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

Example:

let person1 = new Person("Alex", 25);
let person2 = new Person("Emma", 30);

console.log(person1);
console.log(person2);

Each object stores its own data but follows the structure defined by the class.

Instance relationship

Constructor Method

Inside a class, we often define a constructor.

The constructor runs automatically whenever a new object is created.

It is usually used to initialize values.

Example:

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

Here this refers to the object being created.

So when a new object is created, the constructor assigns the values to that object.

Methods Inside a Class

Classes can also contain methods, which are functions that belong to the object.

Example:

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

  showDetails() {
    console.log(this.name + " is " + this.age + " years old");
  }
}

Now we can create objects and call the method.

let student1 = new Student("Rahul", 20);
student1.showDetails();

Output:

Rahul is 20 years old

Basic Idea of Encapsulation

Encapsulation simply means keeping related data and behavior together inside a class.

Instead of having variables and functions scattered across the program, they are grouped inside an object.

This makes code:

  • easier to understand

  • easier to maintain

  • reusable

Encapsulation is one of the core ideas behind Object-Oriented Programming.

Conclusion

Object-Oriented Programming helps developers organize programs by modeling real-world entities as objects. By using classes as blueprints, we can create multiple objects that share the same structure and behavior. This approach makes programs easier to manage, reuse, and expand as they grow larger.