`truthy` og `falsy` i JavaScript

`truthy` og `falsy` i JavaScript

Denne artikel forklarer truthy og falsy i JavaScript.

YouTube Video

truthy og falsy i JavaScript

Begreberne truthy og falsy i JavaScript spiller en meget vigtig rolle, især i evalueringen af betingede udtryk. Truthy og falsy bestemmer, om en værdi evalueres som sand (true) eller falsk (false), men disse værdier er ikke nødvendigvis de booleske true eller false i sig selv.

Falsy værdier

Falsy værdier refererer til værdier, der evalueres som false i JavaScript-betingelser. Nedenfor er en liste over falsy værdier 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 dette eksempel vil alle falsy værdier blive outputtet som "falsy". Nedenfor er en liste over falsy værdier i JavaScript.

  • falsefalse i Booleansk type
  • 0 — Tallet nul (decimalt 0.0 er også en falsk værdi)
  • -0 — Negativ nul (teknisk set forskellig fra 0, men stadig en falsk værdi)
  • 0n — Nul i BigInt-typen
  • "" — En tom streng med længden 0
  • null — Ingen værdi til stede
  • undefined — Udefineret værdi
  • NaN — Ikke et tal

Disse værdier behandles som false i logiske operationer og betingede udtryk (såsom if-udtryk).

Truthy værdier

Alle værdier, der ikke er falsy, er truthy. Dette refererer til værdier, der evalueres som den booleske værdi true. I JavaScript behandles mange værdier 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 denne kode udskrives truthy værdier som "truthy". For eksempel, følgende værdier er truthy.

  • truetrue i Booleansk type
  • Tal (bortset fra 0) — For eksempel er 1 og -1 også truthy.
  • Strenge (ikke-tomme) — for eksempel, "Hello" eller " " (selv strenge kun med mellemrum er truthy)
  • Objekter — Selv tomme objekter ({}) og arrays ([]) er truthy.
  • Funktioner — Funktionerne selv er også truthy.
  • Symbol — Værdier af typen Symbol er også truthy.
  • Infinity — Både positiv og negativ uendelighed er truthy.

Anvendelser af truthy og falsy

Begreberne truthy og falsy bruges ofte i betingelser og logiske operationer. For eksempel, når en standardværdi sættes ved hjælp af || (logisk ELLER) operatoren, returneres den første truthy værdi som resultatet.

Sådan tjekkes for falsy værdier

Det er praktisk at bruge funktionen Boolean til at tjekke for falsy værdier. Funktionen Boolean konverterer eksplicit en given værdi til en boolsk type.

Eksempler 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}

Konklusion

Truthy og falsy i JavaScript er vigtige for at forstå, hvordan ikke-boolske værdier evalueres i betingede udtryk. Falsy værdier inkluderer false, 0, en tom streng, null, undefined og NaN, mens alle andre værdier evalueres som truthy. Forståelse af disse begreber gør det muligt at skrive mere fleksibel og effektiv kode.

Du kan følge med i ovenstående artikel ved hjælp af Visual Studio Code på vores YouTube-kanal. Husk også at tjekke YouTube-kanalen.

YouTube Video