Esta é parte da minha série Essentials. Eles não são os posts mais emocionantes. Mas é importante conhecer esses fundamentos para entender por que o JS faz as coisas que faz. Ele o ajudará a depurar melhor porque você saberá por que as coisas não estão funcionando e o ajudará a passar de um desenvolvedor júnior para um desenvolvedor intermediário. Vamos lá! 💪

Valores em JS têm um valor Booleano inerente associado a. Por isso é super importante saber a que valores esses valores seriam avaliados (verdadeiros ou falsos), especialmente quando se trata de comparações e condicionantes 🤓

Eu uso para tentar descobrir quais valores seriam verdadeiros. Não faça isso. Ao invés disso, memorize quais valores são Falsios. Se não estiver na lista, é considerado verdadeiro 👍

// JS Essentials: Falsy ValuesfalseundefinednullNaN0 or +0 or -0"" or '' or `` (empty string)// Everything else is truthy

# Valores que são realmente Verdade

Aqui estão alguns valores de amostra que você poderia ter pensado que eram verdadeiros (pelo menos eu pensei), mas na verdade avalia para true. Lembre-se que se não estiver na lista falsa, é verdadeiro!

// All these will return **true**Boolean(); // Empty Boolean({}); // Empty {}Boolean('0'); // String containing zeroBoolean('false'); // String containing the text falseBoolean(function() {}); // Empty functionBoolean(-Infinity); // Infinity or Negative InfinityBoolean(new Date()); // Date object

# Usando Falso Valor em Declarações Condicionais

Desde que cada valor no JS avalia para um booleano (verdadeiro ou falso). Podemos encurtar nosso condicional na declaração if

// ❌if(false === null)if(undefined === null)if(null === null)if(NaN === null)if(0 === null)if("" === null)if(value === null)// ✅ Much betterif(!value)

# Usando valor falso em operadores ternários

Simplesmente, você pode usá-lo para encurtar sua condição nos operadores ternários.

// ❌'' === false ? '🙂' : '🙃';// ✅ Much better'' ? '🙂' : '🙃';

# Usando valor falso em operadores lógicos

Aqui está um interessante. Você pode usar || e && para retornar um valor. Definitivamente saber que valor é falso e a veracidade é super importante.

|| as comparações pararão assim que uma expressão falsa for avaliada

const or = '' || 'hi'; // "hi"const or = || 'hi'; // 

&& a comparação parará assim que uma expressão falsa for avaliada

const and = '' && 'hi'; // ""const and = && 'hi'; // "hi"

# Exemplos de comunidade

# Usando valores falsificados para testes unitários

Jason A: Às vezes, quando teste de unidade eu uso um array de valores falsificados e passo por cima deles para ver se meu fallback funciona corretamente, mais ou menos assim:

.forEach(el => expect(funcImTesting(el).to.be('my fallback')),);

Obrigado: @jsawbrey

Articles

Deixe uma resposta

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