Technically your code should pass all of the tests given what they say explicitly. Say you have a variable like so:
var a = 0;
a++;
a === 1; //true
it is the same as:
var a = 0;
a = a + 1;
a === 1; //true
what you did was:
var a = 0;
a = ++a;
a === 1; //true
++a evaluates to a + 1 so assigning a = ++a; will do the same thing as a++; or ++a.
if you instead do a = a++ a will be assigned the current value of a (or NaN if a is not a number) and the increment won’t happen.
The point of this challenge is to teach you the shorthand of incrementing a number by one like this though:
a++;
// a is now 1 more than before
This syntax is very useful and used in many programming languages.