Questo fa parte della mia serie di elementi essenziali. Non sono i post più eccitanti. Ma è importante conoscere questi fondamenti per capire perché JS fa le cose che fa. Vi aiuterà a fare il debug meglio perché saprete perché le cose non funzionano e vi aiuterà a passare da sviluppatore junior a sviluppatore intermedio. Andiamo! 💪

I valori in JS hanno un valore booleano intrinseco associato. Quindi è super importante sapere a cosa verrebbero valutati quei valori (vero o falso), specialmente quando si tratta di confronti e condizionali 🤓

Io uso cercare di capire quali valori sarebbero veri. Non farlo. Invece, memorizza quali valori sono Falsy. Se non è sulla lista, è considerato veritiero 👍

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

# Valori che sono effettivamente veritieri

Qui ci sono alcuni valori di esempio che potresti aver pensato fossero veri (almeno io), ma in realtà valutano true. Ricorda che se non è nella lista false, è vero!

// 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

# Using Falsy Value in Conditional Statements

Siccome ogni valore in JS valuta un booleano (vero o falso). Possiamo accorciare il nostro condizionale nell’istruzione if.

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

# Using Falsy value in Ternary Operators

Similmente, puoi usarlo per accorciare la tua condizione negli operatori ternari.

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

# Using Falsy value in Logical Operators

Ecco un interessante. Puoi usare || e && per restituire un valore. Sicuramente sapere quale valore è falso e vero è super importante.

|| i confronti si fermano non appena viene valutata un’espressione vera

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

&& i confronti si fermano non appena viene valutata un’espressione falsa

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

# Community Examples

# Using Falsy Values for Unit Testing

Jason A: A volte quando faccio i test unitari uso un array di valori falsificati e li metto in loop per vedere se il mio fallback funziona correttamente, un po’ come questo:

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

Grazie: @jsawbrey

Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.