Skip to main content

Object Methods

In JavaScript, object methods are functions contained within an object. They are used to perform certain tasks that are associated with the object. In this tutorial, we will delve into object methods and learn how to create and use them.

What are Object Methods?

In JavaScript, objects are collections of key-value pairs. The keys are known as properties of the object. The values can be any data type, including functions. When a function is a property of an object, we call it a method.

For example, let's consider an object representing a rectangle. This rectangle object might have properties like width and height, as well as methods like calculateArea() and calculatePerimeter().

let rectangle = {
width: 10,
height: 5,
calculateArea: function() {
return this.width * this.height;
},
calculatePerimeter: function() {
return 2 * (this.width + this.height);
}
};

In the above example, calculateArea and calculatePerimeter are methods of the rectangle object.

The this Keyword

You might have noticed the this keyword in our rectangle methods. In JavaScript, this is a special keyword that refers to the object from where it was called. In the case of our rectangle object, this refers to the rectangle object itself.

Calling Object Methods

To call a method in JavaScript, you use the name of the method followed by parentheses.

let area = rectangle.calculateArea();
console.log(area); // Outputs: 50

In the above example, calculateArea() is called on the rectangle object, and the result is stored in the area variable.

Object Methods as Arrow Functions

With the introduction of ES6, JavaScript got another syntax to define functions, known as arrow functions. However, there's a caveat when using arrow functions as object methods. The this keyword doesn't behave the same way as with regular functions.

let square = {
side: 5,
calculateArea: () => {
return this.side * this.side;
}
};

console.log(square.calculateArea()); // Outputs: NaN

In the case of the square object, this doesn't refer to the square object but to the global object (which is window in a browser). This is because arrow functions do not have their own this, they inherit this from the parent scope.

Conclusion

In JavaScript, methods are functions that are properties of an object. They can be used to perform actions that are related to the object. The this keyword is used within methods to refer to the object the method is being called on. Be cautious with arrow functions as object methods, as the this keyword behaves differently compared to regular functions.