`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—falsei Booleansk type0— Tallet nul (decimalt0.0er 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—truei Booleansk type- Tal (bortset fra 0) — For eksempel er
1og-1også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 typenSymboler 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.