- What is closure? once, memoize (jshp vid 6") - Describe hoisting - Difference between `var`, `let`, and `const` - Explain recursion - more declarative (what we want), as opposed to imperative (how to do it); recursion is less verbose - What are *truthy* and *falsey* values? - Scope - “Each binding has a scope, which is the part of the program in which the binding is visible. For bindings defined outside of any function or block, the scope is the whole program—you can refer to such bindings wherever you want. These are called global. But bindings created for function parameters or declared inside a function can be referenced only in that function, so they are known as local bindings.” __Lexical Scope__ - “Each local scope can also see all the local scopes that contain it, and all scopes can see the global scope. This approach to binding visibility is called lexical scoping.” __Execution Context__ - where we are when our code is being executed. When we invoke a function, we get a local execution context with its own local memory -