Hi Gunnar
Eine Frage hätte ich dazu noch. Geht:
lightsDecrementButton.addEventListener('click', () => { lightsInputElement.stepDown(); });
Geht nicht:
lightsDecrementButton.addEventListener('click', lightsInputElement.stepDown);
Warum nicht?
Weil die Bindung an ein Kontextobjekt (this
) erst beim Aufruf einer Funktion erfolgt. Wenn du die Funktion über ein Objekt referenzierst, ohne sie aufzurufen, dann hast du nur einen Zeiger auf die Funktion, aber die Verknüpfung mit dem Objekt ist verloren gegangen.
Deshalb musst du die Funktion entweder explizit als Methode aufrufen, wie in deinem ersten Beispiel, oder mittels bind
eine Funktion erzeugen, bei der this
an das gewünschte Objekt gebunden ist.
Viele Grüße,
Orlok