How do you iterate over all methods in a JavaScript pseudoclass, regardless of whether or not they are marked enumerable?

StackOverflow https://stackoverflow.com/questions/15094127

Question

I'm trying to iterate over all methods in a JavaScript pseudoclass and can easily tell if something is a method or not with (obj.member instanceof Function), however I'm trying to include methods that may be hidden from a for...in loop via defineProperty with an enumerable flag set to false - how do I iterate all members of a pseudoclass, regardless of the enumerable value?

Was it helpful?

Solution

You can always use Object.getOwnPropertyNames, which will include non-enumerable properties as well. However, this will not include properties from prototypes, so if you are asking about "pseudoclass instances" you might need to loop the prototype chain with Object.getPrototypeOf.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top