JavaScript ReferenceError – Invalid Assignment Left-Hand Side

In JavaScript or any programming language, encountering errors is not a big deal if you know how to fix them. Finding and fixing errors is a crucial skill that one must acquire actually to become a pro in that programming language. This article will explain the error “JavaScript ReferenceError – Invalid Assignment Left-Hand Side” in detail with its causes and the solution on how to resolve it. So let’s get started.

The Invalid Assignment Left-Hand Side Error Explained

The name of this error indicates that this error is caused by a faulty or buggy assignment statement. The “left-hand side error” part of this error means that the value at the left-hand side of the assignment operator was not a value that could have been set equal to something using the assignment operator.

However, this error is not caused due to the assignment operator, and it is actually caused by the misuse of the assignment operator where the actual intention was to use the “==” or the “===” operator.

Creating the ReferenceError – Invalid Assignment Left-Hand Side Error

To create the error in focus using the following lines:

if (Math.PI + 8 = 3 || Math.PI + 6 = 4) {



Executing the program will show an error in the terminal. Take a look at the error message of the “ReferenceError – Invalid Assignment Left-Hand Side”:

It is pretty clear from the above image that the error message doesn’t really help the user that much apart from highlighting the line that has caused the error.

Debugging the ReferenceError – Invalid Assignment Left-Hand Side Error

To debug the error take a look at the code again:

if (Math.PI + 8 = 3 || Math.PI + 6 = 4) {



In this code snippet:

The user is trying to add a value to Math.PI, which is actually a constant, meaning that its value cannot be changed not by using the +” operator or even by the assignment operator.

Now, to fix this error, one must be clear about what to do or what was the real intention of the statement. If the task was to compare the values, then simply changing the “=” operator to “==” will fix the error. But if the assignment was the actual task, then simply change the constant in focus to a variable by using a keyword var.

In the above, the solution is to change the assignment operator to an equality “==” operator like this:

if (Math.PI + 8 == 3 || Math.PI + 6 == 4) {


} else {



If the program is executed now, it will produce the following result:

The program didn’t crash and the result was printed on the terminal


The JavaScript ReferenceError – Invalid Assignment Left-Hand Side is caused by the wrong use of assignment operator. Now this wrong use can belong in two different scenarios. Either trying to change the value of a constant by using the assignment operator or by mistaking it for the equality “==” operator. This article has explained the error at focus in detail and explained its solution as well.

About the author

Abdul Mannan

I am curious about technology and writing and exploring it is my passion. I am interested in learning new skills and improving my knowledge and I hold a bachelor's degree in computer science.