【发布时间】:2017-01-15 19:22:46
【问题描述】:
是否可以捕获extends?或者在一个类中捕获定义?例如:
class B extends A {
method1( ) { }
static method2( ) { }
}
有什么方法可以捕获以下事件:
-
B扩展A。 -
method1( )在B.prototype上定义 -
method2( )是在B上定义的。
现有的机制似乎都不起作用。尝试了setPrototypeOf 和defineProperty 陷阱。
【问题讨论】:
-
你想把这些东西困在哪里?
B在某一时刻不存在,而在另一时刻已经定义。解释你的情况可能会有所帮助。 -
你真正想通过捕获extend来解决什么问题?我猜可能还有其他我们可以提供帮助的解决方法。
-
用例类似于为什么要捕获
defineProperty:在对象上定义某些内容时自动运行代码。由于没有触发defineProperty陷阱,我正在检查是否可以捕获extends。否则,我没有extends陷阱的强大用例。
标签: ecmascript-6 metaprogramming es6-class es6-proxy