Przejdź do głównej zawartości

[JS] Czym są truthy and falsy values?

Falsy values to takie wartości, które w kontekście porównań logicznych uznawane są za false. Innymi słowy, to takie wartości X, dla których niespełniony będzie warunek if(X) {...} Falsy values to:
  • false
  • 0
  • '' (pusty string)
  • null
  • undefined
  • NaN
Przykładowo, poniższy kod wypisze do konsoli "coś jak false":

1
2
3
4
5
6
if(0) {
  console.log("coś jak true")
}
else {
  console.log("coś jak false")
}

Dzięki temu, że null i undefined są traktowane jako false w kontekście porównań logicznych, sprawdzanie czy zmienna ma wartość sprowadza się do bardzo prostej operacji:

1
2
3
4
5
6
7
var a;
if(a) {
  console.log("zmienna ma wartość")
}
else {
  console.log("wartość null lub undefined")
}

Truthy values w kontekście porównywań logicznych będą traktowane jako true. Truthy values to wszytskie te wartości, które nie należą do zbioru falsy values. Dlatego poniższy kod wypisze do konsoli "coś jak true": 

1
2
3
4
5
6
if("abc") {
  console.log("coś jak true")
}
else {
  console.log("coś jak false")
}

Komentarze