Esto es parte de mi serie de esenciales. No son los posts más emocionantes. Pero es importante conocer estos fundamentos para entender por qué JS hace las cosas que hace. Te ayudará a depurar mejor porque sabrás por qué las cosas no funcionan y te ayudará a pasar de desarrollador junior a desarrollador intermedio. ¡¡¡Vamos!!! 💪

Los valores en JS tienen un valor booleano inherente asociado. Así que es súper importante saber a qué se evaluarían esos valores (verdadero o falso), sobre todo cuando se trata de comparaciones y condicionales 🤓

Yo suelo intentar averiguar qué valores serían verdaderos. No hagas eso. En su lugar, memorizar lo que los valores son Falsy. Si no está en la lista, se considera truthy 👍

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

# Valores que son realmente Truthy

Aquí hay algunos valores de ejemplo que usted podría haber pensado que era verdad (al menos yo lo hice), pero en realidad se evalúa a true. Recuerda que si no está en la lista de falsos, ¡es verdadero!

// 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 el valor falso en declaraciones condicionales

Dado que cada valor en JS se evalúa a un booleano (verdadero o falso). Podemos acortar nuestro condicional en la sentencia 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 el valor Falsy en Operadores Ternarios

De igual manera, puedes usarlo para acortar tu condición en los operadores ternarios.

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

# Usando el valor Falsy en Operadores Lógicos

Aquí hay uno interesante. Puedes usar || y && para devolver un valor. Definitivamente saber qué valor es falso y verdadero es súper importante.

|| Las comparaciones se detendrán tan pronto como se evalúe una expresión truthy

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

&& La comparación se detendrá tan pronto como se evalúe una expresión falsa

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

# Ejemplos de la Comunidad

# Uso de Valores Falsos para Pruebas Unitarias

Jason A: A veces, cuando las pruebas unitarias que uso una matriz de valores falsos y bucle sobre ellos para ver si mi fallback funciona correctamente, algo así:

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

Gracias: @jsawbrey

Articles

Deja una respuesta

Tu dirección de correo electrónico no será publicada.