Ez az esszenciális értékek sorozatom része. Nem ezek a legizgalmasabb posztok. De fontos ismerni ezeket az alapokat, hogy megértsük, miért csinálja a JS azokat a dolgokat, amiket csinál. Segíteni fog a jobb hibakeresésben, mert tudni fogod, hogy miért nem működnek a dolgok, és segíteni fog, hogy junior fejlesztőből középhaladó fejlesztővé válj. Gyerünk! 💪

A JS-ben az értékekhez eredendően Boolean érték tartozik. Tehát szuper fontos tudni, hogy ezek az értékek mire értékelődnének ki (igaz vagy hamis), különösen, ha összehasonlításokról és feltételes értékekről van szó 🤓

Meg szoktam próbálni kitalálni, hogy milyen értékek lennének igazak. Ne csináld ezt. Ehelyett jegyezd meg, hogy melyek a Fals értékek. Ha nem szerepel a listán, akkor igaznak számít 👍

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

# Értékek, amelyek valójában igazak

Itt van néhány mintaérték, amelyekről azt hihetted, hogy igazak (legalábbis én azt hittem), de valójában true-re értékelődik ki. Ne feledd, ha nem szerepel a hamis listán, akkor igaz!

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

# Hamis értékek használata feltételes kijelentésekben

Mivel minden érték a JS-ben booleanra (igaz vagy hamis) értékelődik. A if utasításban lerövidíthetjük a feltételünket.

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

# Falsy érték használata a terner operátorokban

Hasonlóképpen használhatjuk a feltételünk lerövidítésére a terner operátorokban.

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

# Falsy érték használata a logikai operátorokban

Itt egy érdekes eset. A || és a && segítségével visszaadhatunk egy értéket. Mindenképpen szuper fontos tudni, hogy melyik érték falsy és truthy.

|| az összehasonlítás leáll, amint egy igaz kifejezés kiértékelésre kerül

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

&& az összehasonlítás leáll, amint egy falsy kifejezés kiértékelésre kerül

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

# Közösségi példák

# Falsy értékek használata egységteszteléshez

Jason A:

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

Köszönöm: @jsawbrey

Articles

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.