| # | title | topic | type | difficulty |
|---|---|---|---|---|
| 1 | Reading a var before its line | Scope & Hoisting | Multiple choice | Easy |
| 2 | Reading a let before its line | Scope & Hoisting | Multiple choice | Easy |
| 3 | Calling a function above its declaration | Scope & Hoisting | Multiple choice | Easy |
| 4 | Calling a function expression above its line | Scope & Hoisting | Multiple choice | Easy |
| 5 |
| var leaks, let doesn't |
| Scope & Hoisting |
| Multiple choice |
| Easy |
| 6 | Parameters are their own variables | Scope & Hoisting | Multiple choice | Medium |
| 7 | Hoisting shadows the outer world | Scope & Hoisting | Multiple choice | Medium |
| 8 | Hoisting inside a higher-order function | Scope & Hoisting | Multiple choice | Medium |
| 9 | Function declarations outrank var | Scope & Hoisting | Multiple choice | Medium |
| 10 | typeof is not always safe | Scope & Hoisting | Multiple choice | Hard |
| 11 | The name only it can see | Scope & Hoisting | Multiple choice | Hard |
| 12 | const meets the classic for loop | Scope & Hoisting | Multiple choice | Hard |