JavaScript usa true e false per rappresentare i due valori di verità della logica.
In JavaScript, per ciascuna delle tre operazioni logiche (AND, OR e NOT) esiste un operatore corrispondente: &&, || e !.
In generale, ci sono delle regole sull'ordine delle operazioni: in questo caso, viene applicato prima ! (negazione), poi && (congiunzione) e infine || (disgiunzione).
L'ordine delle operazioni tra gli operatori può essere aggirato usando un operatore con precedenza più alta: ( ), chiamato «operatore di raggruppamento» o, più semplicemente, «parentesi».
Di fatto, l'operatore ( ) ha la precedenza più alta tra tutti gli operatori di JavaScript.
Trovi maggiori informazioni sulla precedenza degli operatori qui.