Why re-assign class methods to `this` in constructor in tappable Hook class?

Here is the code in webpack tappable source code:


class Hook {
  constructor(args = [], name = undefined) {
    this._args = args;
    // ...
    this.compile = this.compile;
    this.tap = this.tap;
    this.tapAsync = this.tapAsync;
    this.tapPromise = this.tapPromise;
  }
  // ...
  compile(options) {}

  tap(options, fn) {}

  tapAsync(options, fn) {}

  tapPromise(options, fn) {}
}

What does this.compile = this.compile means, can anyone tell?

webpack tappable source code link

Is there any magic for the re-assignment?