“增强”ECMAScript 2017 (Firefox v55) 中现有的 JS 类?

迈克啮齿动物

基本上我想知道是否有可能在类级别而不是实例级别重新定义方法,如所寻求的here

只是为了清楚起见,我还希望能够this从增强/替换方法中调用原始方法 (on )。

我尝试实现所选的答案“装饰构造函数”,但它似乎在 FF55 的“SpiderMonkey”版本的 ES2017 中不起作用:我收到一条消息,说该类“需要新的”。

做一些谷歌搜索,我找到了这篇文章这个人谈论了一大堆概念,我什至不知道存在于 Javascript 中!我对 JS 的了解并没有超出 Javascript Definitive Guide 6th Edition,尽管我确实使用Promisesasync/await很多(我希望有一天会出现新版本的 JS Def 指南......)。

那么有没有专家知道一种方法,从本质上讲,在 ES2017 中“增强”(即重新设计,而不是扩展)现有的 JS 类?

迈克啮齿动物

哎呀……感谢 Dovydas。我显然有心理障碍!

const superObserve = MutationObserver.prototype.observe;
MutationObserver.prototype.observe = function( target, config ){
    console.log( 'blip');
    superObserve.call( this, target, config );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章