Obtendo uma lista de estática em uma class ES6

Dada uma class ES6, como posso inspecioná-la para determinar suas propriedades e methods estáticos disponíveis?

No ES5, determinar a estática anexada a uma class (seu construtor) era tão simples quanto iterar sobre as propriedades da function. No ES6, aparece a magia que não as expõe como tal.

Sim, todos os methods de class são não enumeráveis ​​por padrão.

Você ainda pode Object.getOwnPropertyNames los usando Object.getOwnPropertyNames . Filtre out .prototype , .name e .length (ou apenas tudo o que não é uma function). Para include methods estáticos herdados, você terá que percorrer a cadeia de protótipos explicitamente (usando Object.getPrototypeOf ).