Объясните в чем тут проблема?
Пользуйтесь консолью – это бесплатно, спортивно, современно!console.log(this); // window
В вашем коде this не принимает значение кнопки, а наследует его из внешнего кода. В данном случае, глобального, поэтому this === window
Вероятно, вы ожидали, что this будет нажатой кнопкой. Так бы работало без стрелочной функции, если по-старинке передавали function(evt) {}
snippet
а вот так снова нормально работает.
фишка в том, что у стрелочных функций this указывает не на кнопку, а в какое-то другое место.
потому что Стрелочные функции не содержат собственный контекст this, а используют значение this окружающего контекста. подробнее.