1278 shaares
2 liens privés
2 liens privés
Article détaillant une technique permettant de connaître l'ensemble des méthodes d'un objet Javascript
En gros, avec ces 2 fonctions :
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;
}