Estos dos usos a continuación parecen funcionar bien:
document.querySelector(`button`).addEventListener(`click`, delayedClickButton); const timeout = 1000; function delayedClickButton(evt) { setTimeout( function (){clickButton(evt)}, timeout ); } function clickButton(evt) { evt.target.style.color = `red`; } <button>Click</button> document.querySelector(`button`).addEventListener(`click`, delayedClickButton); const timeout = 1000; function delayedClickButton(evt) { setTimeout( function (){return clickButton(evt);}, timeout ); } function clickButton(evt) { evt.target.style.color = `red`; } <button>Click</button>¿Cuál es la correcta cuando quiero una función de manejo de eventos de clic que se retrasa 1 segundo y quiero acceder al elemento de destino en esa función usando evt.target?
La declaración de devolución no es necesaria, por lo que el primer ejemplo es mejor, aunque ambos funcionan. las devoluciones son útiles para cuando queremos hacer algo con un valor resultante, por ejemplo
const myFunc = ()=>{ return 'I returned something' } console.log(myFunc())