«Это» в методе класса es6 [дубликат]

На этот вопрос уже есть ответ здесь:

Как получить доступ к правильному `this` внутри обратного вызова? 10 ответов

По некоторым причинам я получаю странные значения для "этого" в моем классе es6 ...

'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>

Вопрос:

Почему «this» внутри метода click у Clickers ссылается на узел dom, а не на ... самого себя?

Что еще более важно, как я могу обратиться к свойству count Clickers из его метода click, если я не могу использовать «this» для этого?

Ответы на вопрос(1)

Ваш ответ на вопрос