Boolska värden och Boolean
Det finns ett objekt Boolean
som automatiskt används vid typkonvertering av uttryck till true
och false
. Det kan vara bra att veta att det finns ett objekt i bakgrunden men normalt behöver man inte tänka på det utan kan använda true
och false
som vanliga literaler.
Det finns ingen anledning att explicit använda objektet Boolean
över huvudtaget. Det räcker bra med literalerna true
och false
. Eller som det står i MDN manualen:
“Do not use a Boolean object in place of a Boolean primitive.”
Följande värden är falska: false
, 0, den tomma strängen (“”), NaN
, null
, och undefined
. Alla andra värden är sanna, true
.
Ett sätt att omvandla godtyckligt värde till ett boolskt värde är att använda dubbla utropstecken.
!42 // false
!!42 // true
Vill vi testa att ovanstående stämmer så kan vi skriva följande konstruktion i webbläsarens devtools.
!42 === false // true
!!42 === true // true
typeof(!42) === "boolean" // true
Det är bra att använda devtools för att testa konstruktioner man är fundersam på. Det ger svar direkt.
Att använda två ==
jämför värdet, att använda tre ===
innebär jämförelse även mot datatypen. Det är bra att använda ===
för att undvika bekymmer vid automatisk konvertering av värden.