Object.keys(obj) to iterate over the object's own properties.inherited is true, use Object.getPrototypeOf(obj) to also get the object's inherited properties.Array.prototype.filter() to keep only those properties that are functions.inherited, to not include inherited properties by default.const functions = (obj, inherited = false) => (inherited ? [...Object.keys(obj), ...Object.keys(Object.getPrototypeOf(obj))] : Object.keys(obj) ).filter(key => typeof obj[key] === 'function');
function Foo() {
this.a = () => 1;
this.b = () => 2;
}
Foo.prototype.c = () => 3;
functions(new Foo()); // ['a', 'b']
functions(new Foo(), true); // ['a', 'b', 'c']Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️