Po co przypisywać `this` do` self` i uruchamiać `self.method ()`?

Czytam źródło zmangusta

Collection.prototype.onOpen = function () {
  var self = this;
  this.buffer = false;
  self.doQueue();
};

Nie rozumiem, dlaczego autor przypisujethis doself i biegnieself.doQueue(). Dlaczego by po prostu nie biegać:

this.buffer = false;
this.doQueue();

Jestem nowym użytkownikiem javascript, dzięki za pomoc.