To jest część mojej serii niezbędników. Nie są to najbardziej ekscytujące posty. Ale ważne jest, aby znać te podstawy, aby zrozumieć, dlaczego JS robi rzeczy, które robi. Pomoże ci to lepiej debugować, ponieważ będziesz wiedział, dlaczego rzeczy nie działają i pomoże ci przejść od młodszego dewelopera do średnio zaawansowanego dewelopera. Let’s go! 💪

Wartości w JS mają nieodłączną wartość Boolean związane z. Więc to jest super ważne, aby wiedzieć, co te wartości będą oceniane (true lub false), zwłaszcza jeśli chodzi o porównania i warunkowe 🤓

Używam, aby spróbować dowiedzieć się, jakie wartości byłyby prawdziwe. Nie rób tego. Zamiast tego zapamiętaj, jakie wartości są Falsy. Jeśli nie ma go na liście, jest uważany za truthy 👍

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

# Values that are actually Truthy

Here are some sample values that you might have thought was true (at least I did), but it actually evaluates to true. Pamiętaj, jeśli nie jest na liście false, to jest true!

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

Since every value in JS evaluates to a boolean (true or false). Możemy skrócić nasz warunek w instrukcji 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

Podobnie, można użyć go do skrócenia warunku w operatorach trójskładnikowych.

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

# Using Falsy value in Logical Operators

Here’s an interesting one. Możesz użyć || i &&, aby zwrócić wartość. Zdecydowanie wiedząc, jaka wartość jest falsy i truthy jest super ważna.

|| comparison will stop as soon as a truthy expression is evaluated

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

&& comparison will stop as soon as a falsy expression is evaluated

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

# Community Examples

# Using Falsy Values for Unit Testing

Jason A: Czasami podczas testów jednostkowych używam tablicy wartości falsy i pętli nad nimi, aby sprawdzić, czy mój fallback działa poprawnie, sorta like this:

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

Thanks: @jsawbrey

Articles

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.