Parameter is a variable found in the function definition.
In compilation phase when we are on the line of a function definition with a parameter
that parameter is registered to function's lexical scope as a local variable.
Because most of us know what are the differences between let const and var I would like to go a bit deeper and talk about what I have learned while studying how this simple code block gets evaluated "var foo = 'bar';".
Javascript is a compiled language with these 3 layers
- Engine: Responsible of compilation and execution, entire start to end life of the program.
- Compiler: Parses the given tokens and generates the code to be read by machine.
- Scope: Contains the lookup schema/list for all the declarations also creates accessablity map and rules for declarations