| # | title | topic | type | difficulty |
|---|---|---|---|---|
| 1 | Two async functions interleave | Event Loop & Memory | Drag & drop | Medium |
| 2 | Drag the output into order: closures in loops | Quiz: JS Questions | Drag & drop | Medium |
| 3 | Drag the property lookup into order | Objects | Drag & drop | Medium |
| 4 | Drag the output into order: references vs copies | Objects | Drag & drop | Medium |
| 5 |
| Coercion flow: building the baNaNa |
| Type Coercion |
| Drag & drop |
| Medium |
| 6 | Coercion flow: 1 + '2' - 3 | Type Coercion | Drag & drop | Medium |
| 7 | Coercion flow: '5' - - '2' | Type Coercion | Drag & drop | Medium |
| 8 | Coercion flow: '10' < '9' | Type Coercion | Drag & drop | Medium |
| 9 | Coercion flow: 1 < 2 < 3 | Type Coercion | Drag & drop | Medium |
| 10 | Coercion flow: 3 > 2 > 1 | Type Coercion | Drag & drop | Medium |
| 11 | Coercion flow: null == undefined | Type Coercion | Drag & drop | Medium |
| 12 | Coercion flow: true + true + '1' | Type Coercion | Drag & drop | Medium |
| 13 | Coercion flow: NaN == NaN | Type Coercion | Drag & drop | Medium |
| 14 | Hoisting flow: console.log(y); let y = 5 | Scope & Hoisting | Drag & drop | Medium |
| 15 | dispatchEvent doesn't wait its turn | DOM Events | Drag & drop | Medium |
| 16 | Drag the propagation into order | DOM Events | Drag & drop | Medium |