You are wrong saying 

> code `A && B && C` reads easier than `A && (B || C)`

Take a look:

```
var a = true && true && false;
var b = true && (true || false);
```

In this code, `a === false` whilst `b === true`. That is the difference.

And the code `const == variable_or_function_result` is used to prevent programmer' mistakes on some level. Thus, if you skip one `=` sign, you do not get in trouble.