How JavaScript Works Behind the Scenes Scope and the Scope Chain Variable Environment: Hoisting and The TDZ The this Keyword Regular Functions vs. Arrow Functions Primitive vs. Objects (Primitive vs. Reference Types)