Em javascript, ao usar uma instrução if com várias condições para testar, o javascript testa todas elas independentemente, ou vai parar antes de testar todas se já for falso?
Por exemplo:
a = 1
b = 2
c = 1
if (a==1 && b==1 && c==1)
O javascript testará todas as 3 dessas condições ou, depois de ver que b não é igual a 1 e, portanto, é falso, sairá da instrução?
Eu pergunto do ponto de vista do desempenho. Se, por exemplo, estou testando 3 seletores jQuery complexos, prefiro que o jQuery não atravesse o DOM 3 vezes se for óbvio pelo primeiro que ele retornará FALSO. (Nesse caso, faria mais sentido aninhar 3 instruções if).
ADENDO: Mais curiosidade, qual o termo adequado para isso? Percebi que muitos de vocês usam o termo 'curto-circuito'. Além disso, alguns idiomas fazem isso e outros não?