JavaScript'te `truthy` ve `falsy`

JavaScript'te `truthy` ve `falsy`

Bu makale, JavaScript'te truthy ve falsy kavramlarını açıklar.

YouTube Video

JavaScript'te truthy ve falsy

JavaScript'teki truthy ve falsy kavramları, özellikle koşullu ifadelerin değerlendirilmesinde çok önemli bir rol oynar. Truthy ve falsy, bir değerin doğru (true) ya da yanlış (false) olarak değerlendirilip değerlendirilmediğini belirler, ancak bu değerler mutlaka boolean true veya false olmayabilir.

Falsy Değerler

Falsy değerler, JavaScript koşullu ifadelerinde false olarak değerlendirilen değerlere atıfta bulunur. Aşağıda JavaScript'teki falsy değerlerin bir listesi bulunmaktadır.

 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}

Bu örnekte, tüm falsy değerler "falsy" olarak çıktılanacaktır. Aşağıda JavaScript'teki falsy değerlerin bir listesi bulunmaktadır.

  • false — Boolean türünde false
  • 0 — Sıfır sayısı (ondalık olarak 0.0 da falsy'dir)
  • -0 — Negatif sıfır (teknik olarak 0dan farklıdır ancak yine de falsydir)
  • 0n — BigInt türünde sıfır
  • "" — Uzunluğu 0 olan boş bir dize
  • null — Değer yok
  • undefined — Tanımsız değer
  • NaN — Bir Sayı Değil (Not a Number)

Bu değerler, mantıksal işlemlerde ve koşullu ifadelerde (örneğin if ifadelerinde) false olarak değerlendirilir.

Truthy Değerler

Falsy olmayan tüm değerler truthydir. Bu, boolean true olarak değerlendirilen değerleri ifade eder. JavaScript'te birçok değer truthy olarak değerlendirilir.

 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}

Bu kodda, truthy değerler "truthy" olarak çıktı verilir. Örneğin, aşağıdaki değerler truthy olarak kabul edilir.

  • true — Boolean türünde true
  • Sayılar (0 dışında) — Örneğin, 1 ve -1 de truthydir.
  • Boş olmayan stringler — örneğin, "Hello" veya " " (sadece boşluk içeren stringler bile truthy olarak kabul edilir)
  • Objeler — Boş objeler ({}) ve diziler ([]) bile truthydir.
  • Fonksiyonlar — Fonksiyonların kendileri de truthydir.
  • SymbolSymbol türündeki değerler de truthy olarak kabul edilir.
  • Infinity — Hem pozitif hem negatif sonsuzluk truthydir.

Truthy ve falsy'nin kullanım alanları

Truthy ve falsy kavramları genellikle koşullar ve mantıksal işlemlerde kullanılır. Örneğin, || (mantıksal VEYA) operatörü kullanarak bir varsayılan değer belirlerken, ilk truthy değer sonuç olarak döndürülür.

Falsy değerleri nasıl kontrol edebiliriz

Falsy değerleri kontrol etmek için Boolean fonksiyonunu kullanmak oldukça pratiktir. Boolean fonksiyonu, verilen bir değeri açık bir şekilde boolean türüne dönüştürür.

Boolean fonksiyonunun örnekleri

 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}

Sonuç

JavaScript'teki truthy ve falsy, boolean olmayan değerlerin koşul ifadelerinde nasıl değerlendirildiğini anlamak için önemlidir. Falsy değerlere false, 0, boş bir string, null, undefined ve NaN dahildir; diğer tüm değerler ise truthy olarak değerlendirilir. Bu kavramları anlamak, daha esnek ve verimli kodlar yazmanızı sağlar.

Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.

YouTube Video