繁体   English   中英

无法通过代理对象访问类方法

[英]Cannot access class method through a proxy object

就像在标题中我无法通过代理对象访问类方法一样,我收到错误

TypeError: sth.getNumber is not a function

但在我看到它像属性一样被访问之前,因为我在终端中看到“get”登录

我真的不知道为什么会这样。 下面是我想要做什么的简化示例。 预先感谢您的帮助

class mockClass {
  sth?: number
  constructor(n?: number) {
    this.sth = n
  }
  public getNumber(n: number) {
    return n
  }
}

const sth = new Proxy<any>(new mockClass(15), {
  apply: function (target, thisArg, argArr) {
    console.log("apply")
    console.log(target, thisArg, argArr)
    return "a"
  },
  get: function (target, reciver) {
    console.log("get")
    console.log(target, reciver)
    return "b"
  },
})

console.log(sth.getNumber(15))

改变:

get: function (target, reciver) {
    console.log("get")
    console.log(target, reciver)
    return "b"
  },

到:

get: function (target, reciver) {
    console.log("get")
    console.log(target, reciver)
    return () => { return "b"}
  },

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM