Lexical Environment VS. Execution Environment

Lexical Environment

  • Where something sits physically in the code you write
    • ‘Lexical’ means ‘having to do with words or grammar’. A lexical environment exists in programming languages in which where you write something is important.

Execution Environment

  • A wrapper to help manage the code that is running.
    • There are lots of lexical environments. Which one is currently running is managed via execution contexts. It can contain things beyond what you’ve written in your code.

Object Definition

  • A collection of name/value pairs
    • The simplest definition when talking about Javascript.