`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.
false
—false
i Booleansk type0
— Tallet nul (decimalt0.0
er også enfalsk værdi
)-0
— Negativ nul (teknisk set forskellig fra0
, men stadig enfalsk værdi
)0n
— Nul i BigInt-typen""
— En tom streng med længden 0null
— Ingen værdi til stedeundefined
— Udefineret værdiNaN
— 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
.
true
—true
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 ertruthy
) - Objekter — Selv tomme objekter (
{}
) og arrays ([]
) ertruthy
. - Funktioner — Funktionerne selv er også
truthy
. Symbol
— Værdier af typenSymbol
er ogsåtruthy
.Infinity
— Både positiv og negativ uendelighed ertruthy
.
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.