Leaderboard Archive
Javascript Apr 7, 2026

What gets logged to the console?

for(var i = 0; i < 3; i++) {
  setTimeout(() => console.log(i), 0)
}
A 0, 1, 2
B 3, 3, 3
C 0, 0, 0
D undefined, undefined, undefined
Explanation
var is function-scoped. By the time setTimeout fires (after the loop), i = 3. Fix: replace var with let.
📝
Reviewed by CodeShot Editorial
Every challenge is code-reviewed by senior developers to ensure accuracy and real-world relevance. Learn more.

Ready for your shot?

Join thousands of developers solving one logic puzzle every morning.

Solve Today's Challenge →