DEV Community

Cover image for Reference Error: JavaScript
Saif Sadiq
Saif Sadiq

Posted on • Originally published at

Reference Error: JavaScript

How does it feel when you go to give a job interview and after reaching the interview location you find out that the company for which you are here doesn’t even exist.

Obviously you got angry and your mind will start throwing negative thoughts.

Exactly same happens with JavaScript too.

When any value is assigned to undeclared variable or assignment without the var keyword or variable is not in your current scope, it might lead to unexpected results and that’s why JavaScript presents a ReferenceError: assignment to undeclared variable "x" in strict mode. And this error causes a problem in execution of functions.

If you’ve begun to try out JavaScript you might have encountered some pretty baffling errors. I know I sure did…

ReferenceError: assignment to undeclared variable “x”

Errors about undeclared variable assignments occur in strict mode code only. In non-strict code, they are silently ignored.
Code without ‘var’ keyword

function foo() { 
  'use strict'; 
  bar = true; //variable not declared
Enter fullscreen mode Exit fullscreen mode

What you get after executing above program?? An Error?? 🙁

How do you need to code🙂
Insert ‘var’ in front of your variable and see your program running

function foo() {
  'use strict';
  var bar = true; //declared variable here
Enter fullscreen mode Exit fullscreen mode

Likewise there are many scripting factors possible to generate reference error in javascript.

ReferenceError: "x" is not defined
ReferenceError: deprecated caller or arguments usage
ReferenceError: can't access lexical declarationX' before initialization
ReferenceError: reference to undefined property "x"
ReferenceError: invalid assignment left-hand side`

Original Source:

Related Articles

  1. Unknown: Script Error in JavaScript
  2. Uncaught RangeError: Maximum call stack in JavaScript
  3. Debugging JavaScript Using the Browser’s Developer Console

Top comments (0)