Open In App

JavaScript ReferenceError - Can't access lexical declaration`variable' before initialization

Last Updated : 15 Jul, 2025
Suggest changes
Share
Like Article
Like
Report

This JavaScript exception can't access the lexical declaration `variable' before initialization occurs if a lexical variable has been accessed before initialization. This could happen inside any block statement when let or const declarations are accessed when they are undefined.

Message: 

ReferenceError: Use before declaration (Edge) ReferenceError: can't access lexical declaration `variable' before initialization (Firefox) ReferenceError: 'variable' is not defined (Chrome)

Error Type: 

ReferenceError

Cause of the error: Somewhere in the code, there is a lexical variable that was accessed before initialization.

Example 1: In this example, the const keyword is used with the variable inside the if statement, So the error has occurred.

JavaScript
function GFG() {  const var_1 = "This is";  if (true) {  const var_1 = var_1 + "GeeksforGeeks";  } } function Geeks() {  try {  GFG();  console.log(  "'Can't access lexical declaration" +  "`variable'before initialization' " +  "error has not occurred");  } catch (e) {  console.log(  "'Can't access lexical declaration" +  "`variable' before initialization'" +  " error has occurred");  } } Geeks() 

Output
'Can't access lexical declaration`variable' before initialization' error has occurred 

Example 2: In this example, the keyword is used with the variable, So the error has occurred.

JavaScript
function GFG() {  let var_1 = 3;  if (true) {  var_1 = var_1 + 5;  } } function Geeks() {  try {  GFG();  console.log(  "'Can't access lexical declaration" +  "`variable' before initialization'" +  " error has not occurred");  } catch (e) {  console.log(  "'Can't access lexical declaration" +  "`variable'before initialization'" +  " error has occurred");  } } Geeks() 

Output
'Can't access lexical declaration`variable' before initialization' error has not occurred 

Explore