Usando && e || fora da if-clause em JavaScript
Pode ter usado os operadores &&
e ||
quando escrever uma condição em uma if
-clause. Mas você sabia que, em JavaScript, eles avaliam para os valores da expressão, como strings e números, ao invés dos valores booleanos true
e false
?
Isso permite que você use os operadores &&
e ||
em expressões fora de if
-cláusula. Ele fornece formas curtas de expressar uma parada antecipada usando &&
e expressar um valor padrão usando ||
.
>
-cláusula if opera em valores truthy e falsy
O fato de que &&
e ||
operadores avaliam para strings e números não quebra a if
-clause porque as condições são avaliadas de forma diferente em JavaScript.
Em vez da if
cláusula decidindo sobre seu próximo movimento baseado na condição ser true
ou false
, decide baseado na condição ser verdadeira ou falsa.
A definição é
Um valor é falso se for
false
,null
,undefined
,''
,0
ouNaN
. Um valor verdadeiro é qualquer valor não considerado falso.
Deixe-nos colocar esta informação em uso.
Utilizar && para proteger-se contra indefinido
Uma situação comum é acessar propriedades de objetos aninhados usando notação de pontos. Por exemplo request.session.id
. Neste caso, se algum objeto no caminho for undefined
um “Uncaught TypeError”: Não é possível ler propriedade do erro “Uncaught” é lançado.
O erro pode ser evitado usando &&
para proteger-se contra indefinido.
Aqui a expressão avalia para undefined
com segurança sem lançar um erro.
A definição para &&
é
A
&&
-operador avalia para expressão do lado esquerdo se for falsa, caso contrário para expressão do lado direito.
Use ||| para fornecer valor padrão
Outro caso de uso comum é para recuperar um valor, e se ele não existe então use um valor padrão.
Isso pode ser conseguido usando ||
-operador.
A definição para ||
é
A
||
-operador avalia para expressão do lado esquerdo se é verdade, caso contrário para expressão do lado direito.
Relegibilidade
Estas duas novas ferramentas são boas adições à sua caixa de ferramentas. Mas como sempre, a legibilidade vem em primeiro lugar. Use-as sabiamente, onde elas se encaixam melhor. Lembre-se de garantir que todos em sua equipe saibam como usá-las, por exemplo, passando este artigo para eles.