Enumerating methods on a JavaScript class instance | code.fitness
Article détaillant une technique permettant de connaître l'ensemble des méthodes d'un objet Javascript
En gros, avec ces 2 fonctions :
```javascript
function hasMethod (obj, name) {
const desc = Object.getOwnPropertyDescriptor (obj, name);
return !!desc && typeof desc.value === 'function';
}
function getInstanceMethodNames (obj, stop) {
let array = [];
let proto = Object.getPrototypeOf (obj);
while (proto && proto !== stop) {
Object.getOwnPropertyNames (proto)
.forEach (name => {
if (name !== 'constructor') {
if (hasMethod (proto, name)) {
array.push (name);
}
}
});
proto = Object.getPrototypeOf (proto);
}
return array;
}
```
Wed Mar 7 15:33:11 2018 - permalink -
-
http://code.fitness/post/2016/01/javascript-enumerate-methods.html