This question already has an answer here:
- Javascript a=b=c statements 6 answers
I saw this code somewhere, but what does it mean? (all a, b, c are defined previously)
var a = b = c;
This question already has an answer here:
I saw this code somewhere, but what does it mean? (all a, b, c are defined previously)
var a = b = c;
It quickly assigns multiple variables to a single value.
In your example, a
and b
are now equal set to the value of c
.
It's also often used for a mass assign of null
to clean up.
a = b = c = d = null;
It's a shorthand for:
var a;
var b;
b=c;
a=b;
It's meant as a combination of assigning the same value to two or more other variables, and declaring these variables in local scope at the same time.
You can also use this syntax independently of the var declaration:
var a;
var b;
a=b=c;
So if I say var a = b = 1;
>>> var a = b = 1;
undefined
>>> a
1
>>> b
1
This means a
, b
and c
are the same reference.
For example:
var c = {hello: "world"};
var a = b = c;
// now all three variables are the same object