`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.
false—falsei Booleansk typ0— Siffran noll (decimal0.0är ocksåfalsy)-0— Negativ noll (tekniskt sett skild från0, men fortfarandefalsy)0n— Noll i BigInt-typ""— En tom sträng av längd 0null— Inget värde finnsundefined— Odefinierat värdeNaN— 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.
true—truei Booleansk typ- Tal (förutom 0) — Till exempel är
1och-1ocksåtruthy. - Strängar (icke-tomma) — till exempel,
"Hello"eller" "(även strängar som enbart innehåller mellanslag ärtruthy) - Objekt — Även tomma objekt (
{}) och arrayer ([]) ärtruthy. - Funktioner — Funktioner i sig är också
truthy. Symbol— Värden av typenSymbolär ocksåtruthy.Infinity— Både positiv och negativ oändlighet ärtruthy.
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.