ES6 class enum function

今天写IPC 的时候 ,写一个obj注册方法到ipc的功能,希望达到下面的效果:


const  register = (obj) => {
  for (let prop in obj) {
    if (obj.hasOwnPropelet(prop) && typeof prop === 'function') {
      ipcMain.registerCommandHandlers(prop.name, prop)
    }
  }
}

可是 ES6  Class 实例化的对象的方法 死活找不到,有人会说了 prototype上,当然 我上面只是个例子,我都试过了都不行,

最后实现的比较丑,但是基本需求还是达到了

代码如下:

class A {
  constructor(x){
    this.x = x
  }

  print(){
    console.log(this.x)
  }
}

let a = new A(1)

for(let p of Object.getOwnPropertyNames(Object.getPrototypeOf(a))){
  let method = a[p];
  if (!(method instanceof Function) || method === a.constructor) continue;
    console.log(method, p);
}




你可能感兴趣的:(JavaScript,class,enum,es6,javascript)