Sometimes the workarounds are necessary for performance reasons, or they're just good practice to avoid common pitfalls. But in a lot of languages they aren't, so unless you have a good reason for increasing the overhead, it's better to lean towards readability.
Edit: Also, for this particular example, a good linter is all you need to warn you about an accidental assignment. If you don't have a linter, sure, then put null first, but it's important to recognize that this sacrifices a small amount of future scannability for the more immediate avoidance of a bug.
And given most languages in use today use = to mean assignment instead of equality, it's hardly "no reason".
Equality operator is commutative (sans operand side effects). It's not a quirk.
$ jshint test.js
test.js: line 3, col 10, Expected a conditional expression and instead saw an assignment.
1 error