修补RegExp的最佳方法是什么?

时间:2018-01-18 23:14:48

标签: javascript node.js monkeypatching

修补或扩展RegExp原型或其他本机对象的最佳方法(性能)。

我想添加1个方法,例如,捕获:

Object.assign(RegExp.prototype, {
  capture() {
    // code
  }
})

VS

RegExp.prototype.capture = () => {}

是否有设计模式可以做到这一点?

请不要评论说这是一件坏事,可能会导致一些问题。我只是好奇。

1 个答案:

答案 0 :(得分:0)

这两种情况大多相似,在RegExp的原型中创建一个新方法。由于这是一次性操作,因此它们之间没有明显的性能差异。

Object.assign(...)正在使用新的ES6,可以为原型添加多个方法。 RegExp.prototype.method = ...是纯JavaScript模式。

编辑: 这取决于您最喜欢的语法。