`truthy` i `falsy` w JavaScript

`truthy` i `falsy` w JavaScript

Ten artykuł wyjaśnia truthy i falsy w JavaScripcie.

YouTube Video

truthy i falsy w JavaScript

Koncepcje truthy i falsy w JavaScript odgrywają bardzo ważną rolę, zwłaszcza przy ocenie wyrażeń warunkowych. Truthy i falsy określają, czy wartość jest ewaluowana jako prawdziwa (true) lub fałszywa (false), ale nie muszą to być wartości logiczne true lub false same w sobie.

Wartości Falsy

Wartości Falsy odnoszą się do wartości, które są ewaluowane jako false w warunkach JavaScript. Poniżej znajduje się lista wartości falsy w 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}

W tym przykładzie wszystkie wartości falsy zostaną wyświetlone jako „falsy”. Poniżej znajduje się lista wartości falsy w JavaScript.

  • falsefalse w typie logicznym
  • 0 — Liczba zero (dziesiętne 0.0 także jest nieprawdziwe)
  • -0 — Ujemne zero (technicznie różne od 0, ale nadal nieprawdziwe)
  • 0n — Zero w typie BigInt
  • "" — Pusty ciąg znaków o długości 0
  • null — Brak wartości
  • undefined — Wartość niezdefiniowana
  • NaN — Nie jest liczbą

Te wartości są traktowane jako false w operacjach logicznych i wyrażeniach warunkowych (takich jak instrukcje if).

Wartości Truthy

Wszystkie wartości, które nie są falsy, są truthy. Odnosi się to do wartości, które są ewaluowane jako logiczne true. W JavaScript wiele wartości jest traktowanych jako 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}

W tym kodzie wartości truthy są wyświetlane jako "truthy". Na przykład, następujące wartości są truthy.

  • truetrue w typie logicznym
  • Liczby (inne niż 0) — Na przykład 1 i -1 są również truthy.
  • Łańcuchy znaków (niepuste) — na przykład "Hello" lub " " (nawet łańcuchy zawierające tylko spacje są truthy)
  • Obiekty — Nawet puste obiekty ({}) i tablice ([]) są truthy.
  • Funkcje — Same funkcje są również truthy.
  • Symbol — Wartości typu Symbol również są truthy.
  • Infinity — Zarówno dodatnia, jak i ujemna nieskończoność są truthy.

Zastosowania truthy i falsy

Pojęcia truthy i falsy są często używane w instrukcjach warunkowych i operacjach logicznych. Na przykład, przy ustawianiu wartości domyślnej za pomocą operatora || (logiczne LUB), pierwsza wartość truthy jest zwracana jako wynik.

Jak sprawdzić wartości falsy

Do sprawdzania wartości falsy wygodnie jest użyć funkcji Boolean. Funkcja Boolean jawnie konwertuje podaną wartość na typ logiczny.

Przykłady użycia funkcji Boolean

 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}

Wnioski

Truthy i falsy w JavaScript są istotne dla zrozumienia, jak wartości inne niż logiczne są oceniane w wyrażeniach warunkowych. Wartości falsy obejmują false, 0, pusty łańcuch, null, undefined oraz NaN, podczas gdy wszystkie inne wartości są oceniane jako truthy. Zrozumienie tych pojęć pozwala pisać bardziej elastyczny i wydajny kod.

Możesz śledzić ten artykuł, korzystając z Visual Studio Code na naszym kanale YouTube. Proszę również sprawdzić nasz kanał YouTube.

YouTube Video