JavaScript Challenges
JavaScript Quiz & Practice
The language that runs the web — and bites developers every day.
JavaScript has more quirks per line than any other language. typeof null, hoisting, closures, async traps — these aren't tricks, they're real bugs in real codebases. Solve one JS shot a day to build the instincts that separate senior engineers from the rest.
47
Total Shots
12
Junior
20
Mid-Level
15
Senior
5 Must-Know JavaScript Concepts
The topics that come up again and again in interviews — and in bugs.
Closures & Scope
Lexical scope, variable capture, and the IIFE pattern.
Hoisting
How var, let, const, and function declarations get lifted.
Event Loop & Async
Microtasks, macrotasks, Promises, and async/await order.
Prototypal Inheritance
__proto__, Object.create(), and the prototype chain.
Type Coercion
== vs ===, falsy values, and typeof edge cases.
JavaScript Masterclass Guides
Deep dives into tricky concepts to help you ace your interviews.
Top 10 JavaScript Challenges
Start here — these are the shots developers get wrong the most.
#1
JavaScript This Keyword — What does this output?
#2
JavaScript Destructuring — What is logged?
#3
JavaScript Rest Properties — What does this output?
#4
JavaScript Event Loop — What is the Output?
#5
JavaScript Template Literals — What is logged?
#6
JavaScript Promises — What Does This Output?
#7
JavaScript Try...Finally — Which Value is Returned?
#8
JavaScript Map vs WeakMap — What is the Output?
#9
JavaScript Object Spread — What is the Final Output?
#10
JavaScript Object Deletion — What Happens Here?
Get the Daily JavaScript Shot in Your Inbox
One JavaScript challenge every morning. No fluff, no newsletter filler. Just the shot and the explanation.
📫 No spam. Unsubscribe any time.
All JavaScript Challenges (47)
Every JavaScript shot ever published on CodeShot.
1
JavaScript This Keyword — What does this output?
2
JavaScript Destructuring — What is logged?
3
JavaScript Rest Properties — What does this output?
4
JavaScript Event Loop — What is the Output?
5
JavaScript Template Literals — What is logged?
6
JavaScript Promises — What Does This Output?
7
JavaScript Try...Finally — Which Value is Returned?
8
JavaScript Map vs WeakMap — What is the Output?
9
JavaScript Object Spread — What is the Final Output?
10
JavaScript Object Deletion — What Happens Here?
11
JavaScript Promises — What is the Final Output?
12
JavaScript Hoisting — Can You Call This Function?
13
JavaScript Arrays — What happens at a non-existent index?
14
JavaScript Array.sort() — Why is the Order Wrong?
15
JavaScript Event Listeners — Spot the Memory Leak Bug
16
JavaScript Sets — Can You Spot the Bug?
17
JavaScript Comparison Operators — Spot the Bug!
18
JavaScript Async/Await — Spot the Bug!
19
JavaScript Timers — Spot the Bug: setInterval vs setTimeout
20
JavaScript Array Map — Why is this console.log ignored?
21
JavaScript Type Coercion — What does this output?
22
JavaScript Closures — What Gets Logged?
23
JavaScript Array.indexOf — What does this print?
24
JavaScript Truthy & Falsy — What is the Output?
25
JavaScript Object.freeze — What gets logged?
26
JavaScript Type Coercion — What does this output?
27
JavaScript Type Coercion — What does this print?
28
JS Generator Function - What does next().value print twice?
29
JavaScript Map Size
30
JavaScript Nullish Coalescing
31
JavaScript Array Method - Unraveling Depth
32
JS Closure - What gets logged?
33
javascript Variable Shadowing
34
JavaScript String Concatenation
35
JavaScript Default Parameters
36
JavaScript Equality - What's the Default Value?
37
JavaScript Closures - What gets logged in a closure?
38
JavaScript Truthy Values
39
JS Conditional Operators
40
JavaScript NaN Type
41
JavaScript Mutable Reference Error
42
JavaScript Giant Numbers
43
JavaScript + Empty Array + Object
44
JavaScript Array Concatenation
45
JavaScript Timers: What GetsLogged?
46
JavaScript Float Precision Issue
47
JavaScript Null Type Inference