イベントハンドラーは、ユーザーのクリック・キー入力・マウス移動などのDOM イベントに反応して実行される関数です。UIの対話性を実現し、ブラウザやアプリケーション上の特定のイベント発生時に自動的に呼ばれます。HTML属性またはJavaScriptのaddEventListenerで登録します。
コールバック関数は、別の関数の処理完了後に実行されるよう渡される関数です。非同期処理(ファイル読み込み、API通信、タイマーなど)の結果を受け取ってから実行する必要がある場合に使われます。処理の流れを制御し、順序を保証します。
イベントハンドラーはユーザー操作という予測不可能なタイミングでトリガーされ、UIの即座の反応に使われます。コールバック関数は非同期処理の完了という明確なタイミングでトリガーされ、処理結果の受け渡しに用います。対象としてイベントハンドラーはDOM要素、コールバック関数は非同期処理です。ニュアンスではイベントハンドラーはリアルタイム応答、コールバック関数は順序制御という役割があります。
ユーザー操作(クリック・入力など)に応答する場合はイベントハンドラーを、API通信やファイル操作などの非同期処理の結果を扱う場合はコールバック関数を選択します。モダンJavaScriptではPromiseやasync/awaitがコールバック関数の代替として推奨されています。