JavaScript Dersleri

JavaScript’te Truthy ve Falsy

eminbasbayan

eminbasbayan

3 dk okuma
JavaScript’te Truthy ve Falsy
🔍 Büyütmek için tıklayın

JavaScript dünyasına adım attığınızda, karşınıza sadece true ve false gibi açıkça belli olan mantıksal değerler çıkmaz. Birçok başka veri türü de JavaScript tarafından bir karar vermek üzere doğru (truthy) veya yanlış (falsy) gibi değerlendirilir. Bu kavramlar başlangıçta kafa karıştırıcı olabilir, ama bir kere anladığınızda kod yazmayı hem daha kolay hem daha okunabilir hale getirir.

Bu yazıda, truthy ve falsy kavramlarını en temel haliyle açıklayacak, hangi değerlerin nasıl davrandığını örneklerle gösterecek ve neden bu bilginin önemli olduğunu anlatacağız.

Değerler ve Mantıksal Kararlar

JavaScript’te koşullu ifadelerle çalışırken genellikle if yapısını kullanırız:

if (koşul) { // bir şey yap }

Burada koşul kısmına yazılan her şey JavaScript tarafından "doğru mu, yanlış mı?" olarak değerlendirilir. Ancak bu değerlendirme her zaman true veya false gibi açıkça yazılmış Boolean (mantıksal) değerlerle yapılmaz. JavaScript, verilen değeri içsel olarak bir Boolean’a dönüştürür. Bu dönüşüm sonucunda değerin davranışı ya truthy (doğru gibi) ya da falsy (yanlış gibi) olur.

Falsy Olarak Kabul Edilen Değerler

JavaScript’te yalnızca altı adet değer falsy kabul edilir. Yani bunlar bir if bloğu içinde kontrol edildiğinde yanlış gibi davranır, yani if bloğu çalışmaz.

DeğerAnlamı
falseZaten doğrudan yanlış
0Sıfır, sayısal boşluk
""Boş string, hiç karakter yok
nullHiçbir şeyi temsil etmiyor
undefinedTanımlanmamış değer
NaNGeçersiz sayı ("Not a Number")

Örnek:

let kullanıcıAdı = ""; if (kullanıcıAdı) { console.log("Hoş geldin!"); } else { console.log("Kullanıcı adı girilmedi."); }

Bu kodda kullanıcı adı boş olduğu için if içi çalışmaz, else çalışır. Çünkü "" falsy bir değerdir.

Truthy Olarak Kabul Edilen Değerler

Falsy olanların dışında kalan tüm değerler truthy kabul edilir. Bu değerler bir if bloğunda kullanıldığında, JavaScript onları doğru gibi değerlendirir ve if bloğu çalışır.

Truthy kabul edilen bazı değer örnekleri:

  • "JavaScript" → dolu bir yazı
  • 42 → sıfırdan farklı bir sayı
  • -10 → eksi olsa bile sayı
  • " " → içinde sadece boşluk olsa bile string dolu
  • [] → boş bir dizi
  • {} → boş bir nesne
  • function() {} → fonksiyonlar

Örnek:

let yaş = 17; if (yaş) { console.log("Yaş girildi: " + yaş); } else { console.log("Yaş bilgisi yok."); }

Bu örnekte yaş sıfırdan farklı olduğu için (17), if bloğu çalışır. Çünkü 17 truthy’dir.

Neden Bu Kadar Önemli?

Program yazarken çok sık kullanıcıdan gelen verileri kontrol ederiz:

  • Bir kullanıcı giriş yaptı mı?
  • Formda boş alan kaldı mı?
  • Sunucudan veri geldi mi?

İşte bu gibi durumlarda, if (değer) şeklinde yazmak çok pratik olur. Ekstra kıyaslama yapmadan sadece değerin truthy mi falsy mi olduğunu kontrol ederek karar verebiliriz.

Örnek:

let email = prompt("Email adresinizi girin:"); if (email) { console.log("Teşekkürler! Giriş başarılı."); } else { console.log("Lütfen email adresinizi girin."); }

Kullanıcı bir şey girerse (örneğin "abc@mail.com"), if (email) truthy olur ve ilk mesaj gösterilir. Hiçbir şey yazmazsa, boş string girilir ve bu falsy olduğu için ikinci mesaj gösterilir.

Dikkat Edilmesi Gereken Bir Nokta

Bazı durumlar kafa karıştırabilir. Mesela " " yani sadece boşluk içeren bir string, truthy kabul edilir. Bu yüzden kullanıcı gerçekten bir şey yazdı mı diye kontrol etmek istiyorsanız, sadece if (input) değil, boşlukları da temizleyerek kontrol etmek daha doğru olur:

if (email.trim()) { // Gerçekten bir şey yazılmış }

Özet

  • JavaScript’te tüm değerler ya truthy ya da falsy kabul edilir.
  • Bu bilgi sayesinde if gibi yapılar çok daha sade ve etkili kullanılabilir.
  • Falsy değerler: false, 0, "", null, undefined, NaN
  • Diğer her şey truthy’dir.

Etiketler

#Eğitimler#JavaScript Dersleri

İlgili Yazılar

Bu konuyla ilgili diğer yazılarımızı da inceleyebilirsiniz

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?
JavaScript Dersleri

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?

Web geliştirme, temel olarak üç ana yapı taşı üzerine kuruludur: **HTML, CSS ve JavaScript**. Bu üçlüden **HTML**, sayfanın iskeletini oluşturur, **CSS**, tasarımı ve görsel düzenlemeleri yapar

2 dk
JavaScript'e Giriş: JavaScript Nedir?
JavaScript Dersleri

JavaScript'e Giriş: JavaScript Nedir?

Web geliştirme yolculuğunuzda büyük bir adım atıyorsunuz! HTML ve CSS ile statik web sayfaları oluşturmayı öğrendiniz, ancak şimdi JavaScript ile sayfanıza hareket ve etkileşim katmanını eklemeye hazırsınız. JavaScript, web sayfalarını dinamik hale getiren ve kullanıcı etkileşimlerini yöneten

3 dk
JavaScript Değişkenler (Variables) Nedir?
JavaScript Dersleri

JavaScript Değişkenler (Variables) Nedir?

JavaScript, web geliştirme dünyasının en önemli dillerinden biridir. Dinamik web siteleri, interaktif uygulamalar, oyunlar ve animasyonlar gibi birçok alanda kullanılır. Ancak, bu tür gelişmiş uygulamalar oluşturabilmek için önce JavaScript'in temellerini anlamak gerekir. Bu

4 dk
JavaScript İlkel (Primitive) Veri Tipleri
JavaScript Dersleri

JavaScript İlkel (Primitive) Veri Tipleri

JavaScript, modern web geliştirmede vazgeçilmez bir programlama dilidir. Web sitelerini daha dinamik hale getirmek, etkileşim eklemek ve hatta oyunlar ve uygulamalar geliştirmek için kullanılır. Ancak, bu eğlenceli ve güçlü özelliklere ulaşmadan önce, JavaScript'in temellerin

4 dk
JavaScript'te Sayılar ve Matematiksel Operatörler
JavaScript Dersleri

JavaScript'te Sayılar ve Matematiksel Operatörler

JavaScript, modern web geliştirmede en yaygın kullanılan programlama dillerinden biridir. Bu dilde çalışırken sayılarla sıkça işlem yaparız. İster bir hesap makinesi uygulaması geliştiriyor olun, ister bir oyundaki puan sistemini kodluyor olun, sayılar kaçınılmaz bir parçadır. JavaScri

4 dk
JavaScript'te Boolean Veri Tipi
JavaScript Dersleri

JavaScript'te Boolean Veri Tipi

JavaScript'ı öğrenmeye yeni başlayanlar için veri tipleri oldukça önemlidir. Bu yazıda, en temel veri tiplerinden biri olan **Boolean (mantıksal) değerleri** inceleyeceğiz. Boolean değerleri, programlamada sıklıkla kullanılan ve kodlarımızın man

3 dk