Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 354
CoryG Avatar asked Feb 26 '13 16:02

CoryG


1 Answers

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.

like image 141
Bergi Avatar answered Oct 05 '22 09:10

Bergi