問題

12
JavaScript

イベントループ詳細

JavaScriptの問題に挑戦しよう!

問題

イベントループ詳細

PromiseとsetTimeoutの実行順を説明できるコードを書いてください。

解答と解説(イベントループ詳細)

解説

LINE登録して解答を見る

※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます

JavaScriptのイベントループでは、マイクロタスク(Promise)とマクロタスク(setTimeout)で実行優先度が異なります。上記コードでは"A"→"D"→"B"→"C"の順に出力されます。Promiseのthenはマイクロタスクキューに入り、現在のコールスタック終了後すぐに処理されます。一方、setTimeoutはマクロタスクキューに入り、マイクロタスク処理完了後に実行されます。この優先順位を理解していないと非同期処理の順序を誤解し、バグの原因になります。

補足

非同期処理では「コールスタック→マイクロタスク→マクロタスク」の順序を意識することが重要です。特にPromiseとsetTimeoutの違いは実務で頻出します。

さらにスキルアップしたい方は公式LINEから「JavaScript」と送信すると動画が見れます。

LINE登録して動画を視聴する
あなたに合った学習プランは?LINE適正コース診断はこちら