Open In App

How to get all the methods of an object using JavaScript ?

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

In this article, we will learn how to get all the methods of an object using JavaScript. In JavaScript, we can get all the methods of an object by iterating over each object and checking if its property value is a function. An HTML document contains some methods and the task is to get all methods of the object.

There are two methods to solve this problem which are discussed below:

Approach 1: Use typeof operator and filter() Methods

  • Create a function that takes an object as input.
  • Use typeof operator, which checks if the type of object is a function or not.
  • If the type of object is a function then it returns the object.

Example: This example implements the above approach. 

Javascript




function Obj() {
    this.m1 = function M1() {
        return "From M1";
    }
    this.m2 = function M2() {
        return "From M2";
    }
}
 
function getAllMethods(obj = this) {
    return Object.keys(obj)
        .filter((key) => typeof obj[key] === 'function')
        .map((key) => obj[key]);
}
 
function gfg_Run() {
   console.log(getAllMethods(new Obj()));
}
gfg_Run();


Output

[ [Function: M1], [Function: M2] ]

Approach 2: Use typeof operator and for-in loop

  • Create a function that takes an object as input.
  • Use typeof operator, which checks if the type of object is a function or not. This example also checks if any error occurred or not and if occurred then handle it properly.
  • If the type of Object is a function then return it.

Example 2: This example implements the above approach. 

Javascript




function Obj() {
    this.m1 = function M1() {
        return "From M1";
    }
    this.m2 = function M2() {
        return "From M2";
    }
}
 
function getAllMethods(obj) {
    let result = [];
    for (let id in obj) {
        try {
            if (typeof (obj[id]) == "function") {
                result.push(id + ": " + obj[id].toString());
            }
        } catch (err) {
            result.push(id + ": Not accessible");
        }
    }
    return result;
}
 
function gfg_Run() {
   console.log(getAllMethods(new Obj()).join("\n"));
}
gfg_Run();


Output

m1: function M1() {
        return "From M1";
    }
m2: function M2() {
        return "From M2";
    }


Last Updated : 21 Jul, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads