¿Qué operador lógico toma precedencia?

Por lo tanto, estoy pensando en escribir una operación un poco más compleja con operadores lógicos en una sentencia if-else. Sé que puedo hacer paréntesis, y sé que es la mejor manera de hacerlo, pero tengo curiosidad y por eso lo preguntaré. Si tuviera que hacer algo como esto:

if (firstRun == true || selectedCategory != undefined && selectedState != undefined) {
//Do something
} else {
//Do something else
}

¿Cómo será operado sin el uso de paréntesis? Sé que hay un orden de operaciones para los operadores lógicos, similar a PEMDAS, ¿verdad? Tengo curiosidad por si se ejecutará algo como esto:

firstRun == true || (selectedCategory != undefined && selectedState != undefined)

o tal vez si el operador 'OR' tiene prioridad en su lugar y termina yendo como:

(firstRun == true || selectedCategory != undefined) && selectedState != undefined

La lista completa estaría bien, si la puede encontrar en algún lugar, del orden de las operaciones para esto. ¡Gracias!

Respuestas a la pregunta(6)

Su respuesta a la pregunta