ReferenceError: invalid assignment left-hand side

The JavaScript exception "invalid assignment left-hand side" occurs when there was an unexpected assignment somewhere. For example, a single "=" sign was used instead of "==" or "===".

Message

ReferenceError: invalid assignment left-hand side

Error type

ReferenceError.

What went wrong?

There was an unexpected assignment somewhere. This might be due to a mismatch of a assignment operator and an equality operator, for example. While a single "=" sign assigns a value to a variable, the "==" or "===" operators compare a value.

Examples

Typical invalid assignments

if (Math.PI = 3 || Math.PI = 4) {
  console.log('no way!');
}
// ReferenceError: invalid assignment left-hand side

var str = 'Hello, '
+= 'is it me '
+= 'you\'re looking for?';
// ReferenceError: invalid assignment left-hand side

In the if statement, you want to use an equality operator ("=="), and for the string concatenation, the plus ("+") operator is needed.

if (Math.PI == 3 || Math.PI == 4) {
  console.log('no way!');
}

var str = 'Hello, '
+ 'from the '
+ 'other side!';

See also

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Invalid_assignment_left-hand_side