“This” innerhalb der es6-Klassenmethode [duplicate]

Diese Frage hat hier bereits eine Antwort:

Wie kann ich in einem Callback auf das richtige `this` zugreifen? 10 Antworten

Aus irgendeinem Grund bekomme ich komische Werte für "this" in meiner es6-Klasse ...

'use strict';
class Clicker {
  constructor(element) {
    this.count = 0;
    this.elem = element;
    this.elem.addEventListener('click', this.click);
    
    // logs Clicker { count:0, elem: button#thing} as expected
    console.log(this);
  }

  click() {
    // logs <button id="thing">...</button> as unexpected...
    console.log(this);
    this.count++;
  }
}


var thing = document.getElementById('thing');
var instance = new Clicker(thing);
<button id="thing">Click me</button>

Frage

Warum bezieht sich das "Dies" in der Clickers-Klickmethode eher auf den dom-Knoten als auf ... sich selbst?

Wie beziehe ich mich auf die count-Eigenschaft von Clickers innerhalb der click-Methode, wenn ich "this" nicht verwenden kann?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage