JavaScript usa true y false para representar los dos valores de verdad de la lógica.
En JavaScript, para cada una de las tres operaciones lógicas (AND, OR y NOT) hay un operador correspondiente: &&, || y !.
En general, existen reglas sobre el orden de las operaciones y, en este caso, primero se aplica ! (negación), luego && (conjunción) y después || (disyunción).
El orden de las operaciones entre los operadores se puede cambiar usando un operador con mayor precedencia: ( ), llamado el «operador de agrupación» o, simplemente, «paréntesis».
De hecho, el operador ( ) tiene la mayor precedencia de todos los operadores de JavaScript.
Puedes encontrar más información sobre la precedencia de operadores aquí.