Karsten: Gute Umsetzung für das Übergeben einer Event-Funktion

Hallo,

ich würde gerne wissen, ob es eine best-practice für Javascript gibt, wie Funktionen als Paramter zu übergeben sind. Hintrgrund: Es soll ein Button mehrfach erstellt werden, der bei einem click-Event eine Aktion für eine bestimmtes DOM-Element ausführt. Das DOM-Element soll über eine Funktion bestimmt werden, die als Paramter das Event enthält. Bei der Erstellung des Buttons soll nicht alles neu geschrieben werden, sonder es soll nur eine Funktion übergeben werden, die das DOM-Element bestimmt.

Ich frage mich nun, was best-practice ist. Sollte man diesen Button als class anlegen und im construtor die event-Funktion als Parameter übergeben? Mir geht es vor allem um einen sauberen Ansatz, d.h. das nicht unnötige Dinge im Speicher gehalten werden. Ist kompliziert ausgedrückt, aber vielleicht ist ein Beispiel sinnvoll:

class DeleteBtn() {
 
 constructor(parentElem, eventFunc = (evt) => evt.target.closest('.cssClass')){
  this.eventFunc = eventFunc;
  const btn = document.createElement('button');
  parentElem.append(btn);
  btn.addEventListener("click", (evt) => {
   let htmlElem = this.eventFunc(evt);
   // ab hier einheitliche Verarbeitung
   // vereinfacht, z.B. lösche das htmlElement
   htmlElem.remove();
  }
 }

}

function run(){
 // neue Buttons anlagen
 new DeleteBtn(document.querySelector('#box1'), (evt) => {
   return evt.target.closest('.cssClass2');
 });
 
 new DeleteBtn(document.querySelector('#box2'), (evt) => {
   return evt.target.closest('div[data-field]');
 });
}

run();

Wäre dies eine gute Umsetzung? Oder was würde dagegen sprechen? Das Beispiel ist stark vereinfacht.

Gruss Karsten