En javascript, cuando se usa una declaración if con múltiples condiciones para probar, ¿javascript las prueba todas independientemente, o se resguardará antes de probarlas todas si ya es falsa?
Por ejemplo:
a = 1
b = 2
c = 1
if (a==1 && b==1 && c==1)
¿Javascript probará las 3 condiciones o, después de ver que b no es igual a 1 y, por lo tanto, es falso, saldrá de la declaración?
Pregunto desde el punto de vista del desempeño. Si, por ejemplo, estoy probando 3 selectores complejos de jQuery, preferiría que jQuery no atraviese el DOM 3 veces si es obvio a través del primero que devolverá FALSO. (En cuyo caso, tendría más sentido anidar 3 declaraciones if).
ADDENDUM: Más que una curiosidad, ¿cuál es el término adecuado para esto? Noto que muchos de ustedes usan el término "cortocircuito". Además, ¿algunos idiomas hacen esto y otros no?
fuente