Módulo 3, Scope, Hoisting, Closures
Scope Una variable tiene un alcance GLOBAL cuando está fuera de alguna función, módulo, fuera de un bloque de if, etc... las variables globales (menos const y let) están en el WINDOW object. Si una variable no está disponible adentro de la función, JS va a buscarla afuera arriba. Var, Let y Const son scopeadas diferente. Siempre usa CONST, usa LET si quieres reasignar, y usa VAR solo cuando sea necesario. Hoisting. el compilador de JS va a mover todas las funciones hasta arriba al compilar, así podrán correr antes de ser accesadas. Closures. Es cuando una función reside adentro de otra función y es accesada con una variable desde la función exterior.