Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

What is object in JavaScript

Understanding the Basics

In the world of computer programming, there is a term that you will often come across: 'object'. So, what is an object in JavaScript? In simple terms, an object is a collection of related data and/or functionality which is composed of variables and functions.

Objects: A Real-World Analogy

Imagine you are trying to describe a car to a friend. How would you do it? You might start with the color, the model, the number of doors, the type of transmission, among other things. In JavaScript, these characteristics are known as properties.

Now think about what you can do with a car. You can start it, stop it, drive it, park it, and so on. These actions are what we call methods in JavaScript.

In this analogy, the car is the object. The properties are the things that describe the car, and the methods are the things that you can do with the car.

Creating Objects in JavaScript

There are different ways to create objects in JavaScript, but the most common way is using the object literal syntax. Here's an example:

let car = {
  color: 'red',
  doors: 4,
  transmission: 'automatic',
  start: function() {
    console.log('The car has started.');
  },
  stop: function() {
    console.log('The car has stopped.');
  },
};

In this example, car is an object. color, doors, and transmission are properties of the car, and their values describe the car. start and stop are methods, and their values are functions that describe what the car can do.

Accessing Object Properties and Methods

Once you've created an object, you can access its properties and methods using dot notation. Here's how you can do it:

console.log(car.color); // outputs: 'red'
console.log(car.doors); // outputs: 4
car.start(); // outputs: 'The car has started.'

Objects Are Mutable

Mutable means changeable. In JavaScript, objects are mutable. This means that once an object is created, you can change its properties and methods. Here's how you can change a property:

car.color = 'blue';
console.log(car.color); // outputs: 'blue'

And here's how you can add a new property:

car.make = 'Toyota';
console.log(car.make); // outputs: 'Toyota'

Object-Oriented Programming

Objects are a fundamental part of object-oriented programming (OOP), a popular programming paradigm. OOP is a way of writing code that allows you to create objects that interact with one another.

In OOP, objects are created using classes. A class is like a blueprint for creating an object. It defines what properties and methods an object should have. Here's an example of a class in JavaScript:

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

  start() {
    console.log('The car has started.');
  }

  stop() {
    console.log('The car has stopped.');
  }
}

let myCar = new Car('red', 4);

In this example, Car is a class. The constructor is a special method that is called when a new object is created. this is a special keyword that refers to the object that is being created.

Conclusion

Objects are like the building blocks of JavaScript. They bundle together variables and functions into a single, manageable entity. Whether it's a car with properties like color and methods like start, or a user with properties like name and methods like login, objects provide a way to model real-world things in code.

While the concept might seem challenging at first, just remember the car analogy. Each characteristic of a car is a property, and each action you can perform with a car is a method. As you delve deeper into JavaScript, you'll find that objects make it easier to organize and structure your code. So buckle up, start your engines, and dive into the world of JavaScript objects!