`truthy` och `falsy` i JavaScript

`truthy` och `falsy` i JavaScript

Den här artikeln förklarar truthy och falsy i JavaScript.

YouTube Video

truthy och falsy i JavaScript

Koncepten truthy och falsy i JavaScript spelar en mycket viktig roll, särskilt vid utvärdering av villkorssatser. Truthy och falsy avgör om ett värde utvärderas som sant (true) eller falskt (false), men dessa värden är inte nödvändigtvis de booleska värdena true eller false i sig.

Falsy-värden

Falsy-värden hänvisar till värden som utvärderas som false i JavaScript-villkor. Nedan är en lista över falsy-värden i JavaScript.

 1const values = [
 2    false,
 3    0,
 4    -0,
 5    0.0,
 6    -0.0,
 7    0n,
 8    -0n,
 9    "",
10    null,
11    undefined,
12    NaN
13];
14
15for (let value of values) {
16    if (value) {
17        console.log(`${value} is truthy`);
18    } else {
19        console.log(`${value} is falsy`);
20    }
21}

I det här exemplet kommer alla falsy-värden att skrivas ut som "falsy". Nedan är en lista över falsy-värden i JavaScript.

  • falsefalse i Booleansk typ
  • 0 — Siffran noll (decimal 0.0 är också falsy)
  • -0 — Negativ noll (tekniskt sett skild från 0, men fortfarande falsy)
  • 0n — Noll i BigInt-typ
  • "" — En tom sträng av längd 0
  • null — Inget värde finns
  • undefined — Odefinierat värde
  • NaN — Inte ett nummer

Dessa värden behandlas som false i logiska operationer och villkorssatser (som if-satser).

Truthy-värden

Alla värden som inte är falsy är truthy. Detta hänvisar till värden som utvärderas som booleska true. I JavaScript behandlas många värden som truthy.

 1const values = [
 2    true,
 3    1,
 4    -1,
 5    "Hello",
 6    " ",
 7    [],
 8    {},
 9    function() {},
10    Symbol(),
11    Infinity
12];
13
14for (let value of values) {
15    if (value) {
16        console.log(value, ' is truthy');
17    } else {
18        console.log(value, ' is falsy');
19    }
20}

I denna kod visas truthy värden som "truthy". Till exempel är följande värden truthy.

  • truetrue i Booleansk typ
  • Tal (förutom 0) — Till exempel är 1 och -1 också truthy.
  • Strängar (icke-tomma) — till exempel, "Hello" eller " " (även strängar som enbart innehåller mellanslag är truthy)
  • Objekt — Även tomma objekt ({}) och arrayer ([]) är truthy.
  • Funktioner — Funktioner i sig är också truthy.
  • Symbol — Värden av typen Symbol är också truthy.
  • Infinity — Både positiv och negativ oändlighet är truthy.

Användningsområden för truthy och falsy

Begreppen truthy och falsy används ofta i villkorssatser och logiska operationer. Till exempel, när man sätter ett standardvärde med hjälp av operatören || (logiskt ELLER), returneras det första truthy värdet som resultat.

Hur man kontrollerar falsy värden

För att kontrollera falsy värden är det bekvämt att använda Boolean-funktionen. Boolean-funktionen konverterar explicit ett givet värde till en boolesk typ.

Exempel på Boolean-funktionen

 1const values = [
 2    false,
 3    0,
 4    "",
 5    null,
 6    undefined,
 7    NaN
 8];
 9
10for (let value of values) {
11    console.log(`${value} is ${Boolean(value) ? 'truthy' : 'falsy'}`);
12}

Slutsats

Truthy och falsy i JavaScript är viktiga för att förstå hur icke-booleska värden utvärderas i villkorssatser. Falsy värden inkluderar false, 0, en tom sträng, null, undefined och NaN, medan alla andra värden utvärderas som truthy. Att förstå dessa koncept möjliggör att skriva mer flexibel och effektiv kod.

Du kan följa med i artikeln ovan med hjälp av Visual Studio Code på vår YouTube-kanal. Vänligen kolla även in YouTube-kanalen.

YouTube Video