Por lo tanto, estoy buscando escribir una operación un poco más compleja con operadores lógicos en una instrucción if-else. Sé que puedo hacer paréntesis, y sé que es la mejor manera de hacerlo, pero tengo curiosidad, así que voy a preguntar. Si tuviera que hacer algo como esto:Qué operador lógico toma precedencia
if (firstRun == true || selectedCategory != undefined && selectedState != undefined) {
//Do something
} else {
//Do something else
}
¿Cómo se manejará eso sin el uso de paréntesis? Sé que hay un orden de operaciones para operadores lógicos, similar a PEMDAS, ¿verdad? Estoy ansioso por ver si va a ser corrió algo como esto:
firstRun == true || (selectedCategory != undefined && selectedState != undefined)
o tal vez si el operador de la 'O' tiene prioridad en vez y termina yendo como:
(firstRun == true || selectedCategory != undefined) && selectedState != undefined
La lista completa sería sé agradable, si puedes encontrarlo en alguna parte, del orden de las operaciones para esto. ¡Gracias!
Exactamente lo que se necesitaba; gracias – JTApps
¿Qué hay de 'nuevo'? Tiene la misma precedencia que el acceso de miembros y las llamadas a funciones, así que supongo que eso significa de izquierda a derecha. 'new Foo(). bar()' es equivalente a '(new Foo()). bar()'? Y 'nuevo Foo() (3)' es equivalente a '(nuevo Foo()) (3)'? – chharvey