Es sind zwei verschiedene Dinge.
x=true;evaluiert zu einer wahren Aussagex=false;dito
Das ist wieder nicht die Wahrheit. x = false evaluiert zu false, das ist in der EcmaScript-Spezifikation eindeutig festgelegt, ich habe die relevanten Schritte aus dem Evaluierungsalgorithmus mal für dich rausgesucht:
12.15.4 Runtime Semantics: Evaluation
LeftHandSideExpression=AssignmentExpression
3. Let rref be the result of evaluating AssignmentExpression.
4. Let rval be ? GetValue(rref).
6. Return rval.