Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026
The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.
Any variable defined in a function (or block) with the same name as a global variable takes precedence over the global variable, shadowing it.
This prints undefined:
var name = 'Roger'
function run() {
console.log(name)
var name = 'Flavio'
}
run()
and this raises an error ReferenceError: name is not defined:
let name = 'Roger'
function run() {
console.log(name)
let name = 'Flavio'
}
run() Lessons in this unit:
| 0: | Introduction |
| 1: | Global scope |
| 2: | Function scope |
| 3: | Block scope |
| 4: | ▶︎ Shadowing |
| 5: | Hoisting |
| 6: | Closures |
| 7: | An issue with `var` variables and loops |
| 8: | The event loop |