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 ifclá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 ou NaN. 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.

1
const sessionId = request.session && request.session.id;

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.

1
const name = user.name || 'Guest';

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.

Deixe uma resposta

O seu endereço de email não será publicado.