What Is Lexical Scope in JavaScript?
Understand lexical scope in JavaScript and learn how JavaScript determines variable accessibility.
What Is Lexical Scope in JavaScript?
Lexical scope determines how variables are accessed in JavaScript.
The word "lexical" means that scope is determined by where code is written.
Example
function outer() { let name = "John"; function inner() { console.log(name); } inner(); }
The inner function can access variables declared in its outer scope.
How Lexical Scope Works
JavaScript determines variable accessibility based on the physical placement of functions in source code.
Functions can access:
- Their Own Variables
- Parent Scope Variables
- Global Variables
Why Is Lexical Scope Important?
Lexical scope forms the foundation for:
- Closures
- Scope Chains
- Data Encapsulation
- Modular Code
Without lexical scope, closures would not exist.
Common Interview Topic
Interviewers frequently ask lexical scope questions because they test a candidate's understanding of JavaScript internals.
The Bottom Line
Lexical scope means variable access is determined by where functions are defined in the source code, not where they are executed.
Lexical scope means scope is determined by the location of code in the source file.
Yes. Inner functions can access variables from parent scopes.
Yes. Closures rely on lexical scope.
Yes. JavaScript is a lexically scoped language.
It helps developers understand closures, scope chains, and variable accessibility.
Ready to master Javascript completely?
Want to upskill yourself, crack your next interview, and get your dream job? Join our comprehensive course to dive deeper with high-quality video tutorials, solve interview questions, and a premium community.
Master Javascript
Want to upskill yourself, crack your next interview, and get your dream job? Join our comprehensive course.

