Truthy ve falsy
String(), Number() ve Boolean() ile dönüştürmeyi biliyorsunuz. Sıradaki beceri: değerlerin bir kararın içinde nasıl davrandığı — tam if / else bölümünden önce. «Hayır» gibi davrananlara falsy denir. Geri kalanın çoğu truthy’dir. Kısa falsy listesini bir kez öğrenin; sonra çok kafa karışıklığı azalır.
JavaScript’te truthy ve falsy ne demek?
Falsy: koşulda JavaScript değeri false gibi ele alır. Truthy: true gibi. Yeni bir veri tipi değil — bildiğiniz sayılar ve dizeler. Boolean(value) ile önizleyin veya if (value) yazın; kural aynı. Başlangıçta falsy listesi yeter; gerisi genelde truthy’dir.
Falsy listesi
📊 Bilmeniz gereken falsy değerler
| Değer | Neden «boş / hayır» hissi | Not |
|---|---|---|
false |
boolean hayır | anahtar sözcük |
0 |
sayısal sıfır | -0 de aynı |
"" |
boş dize | uzunluk 0 |
null |
bilerek boş | önceki dersten |
undefined |
henüz değer yok | önceki dersten |
NaN |
başarısız sayı | typeof hâlâ "number" |
Başlangıç listesi bu kadar. Sonsuz bir truthy kataloğu değil, falsy ezberleyin. Listede yoksa sonraki derse kadar truthy sayın.
Boolean() ile falsy görün
Boolean(...) net bir önizlemedir. Listedeki her değer false olur.
console.log(Boolean(false));
console.log(Boolean(0));
console.log(Boolean(""));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Boolean(NaN));
Başlangıçta varsayılan truthy’dir
Boş olmayan dizeler, çoğu sayı ve true kendisi truthy’dir. İlk sürprizler çoğu zaman «hayır» gibi görünen ama karakter içeren metinlerdir.
console.log(Boolean(1));
console.log(Boolean(-3));
console.log(Boolean("hi"));
console.log(Boolean("0"));
console.log(Boolean("false"));
console.log(Boolean(" "));
"0" ve "false" boş olmayan metin olduğu için truthy’dir. Tek boşluk " " da truthy’dir — sıradan dizelerde yalnızca "" (uzunluk sıfır) falsy’dir.
Boolean() çağırmadan if
Basit if (value) aynı kuralı kullanır. if (Boolean(value)) yazmak zorunda değilsiniz. Tam dallanma sonra gelir; burada yalnızca evet/hayır kapısı.
let name = "Ada";
if (name) {
console.log("name is truthy");
}
let empty = "";
if (empty) {
console.log("will not run");
} else {
console.log("empty string is falsy");
}
Dize tuzakları: "0" ve "false"
Formlar ve API’ler sıkça metin gönderir. "0" dizesi sayı 0 değildir. "false" dizesi boolean false değildir. İkisi de truthy’dir.
console.log(Boolean("0"));
console.log(Boolean(0));
console.log(Boolean("false"));
console.log(Boolean(false));
console.log("0" === 0);
Boş dize ile bir boşluk
Sıradan dizelerde yalnızca uzunluğu sıfır olan "" falsy’dir. Bir boşluk hâlâ içeriktir.
console.log(Boolean(""));
console.log(Boolean(" "));
console.log("".length);
console.log(" ".length);
Sayfa mesajını tek değerle yönetin
Ziyaretçinin ne göreceğine bir değerle karar verin. Değiştirip yenileyin.
<!DOCTYPE html>
<html>
<head>
<title>Truthy falsy — page gate</title>
</head>
<body>
<p id="msg">…</p>
<script>
let user = "Sam";
let box = document.getElementById("msg");
if (user) {
box.textContent = "Hello, " + user;
} else {
box.textContent = "Please sign in";
}
</script>
</body>
</html>
user değerini "" veya null yapın, yenileyin — mesaj giriş satırına döner. Aynı falsy kuralı — bu kez sayfada.
Kendiniz deneyin
- Falsy listesindeki her öğe için
Booleanyazdırın. Boolean("0")veBoolean(0)yan yana yazdırın.Boolean(" ")veBoolean("")— boşluk ile boş.- Küçük bir
if (score)yazın: öncescore = 0, sonrascore = 5. - HTML demoda
user = ""yapın, yenileyin, mesajı okuyun. userdeğerini"0"yapın — selamlama yine çalışır (truthy dize).
Sık hatalar
"false"veya"0"değerini falsy saymak — ikisi de boş olmayan dizedir- Her zaman
Boolean()sarmak gerektiğini sanmak —if (value)zaten dönüştürür - Kısa falsy listesi yerine tüm truthy’leri ezberlemek
- Sayı
0(falsy) ile dize"0"(truthy) karıştırmak - Listeden
null,undefinedveyaNaNunutmak
Özet
- Falsy: koşulda
falsegibi — kısa listeyi öğrenin - Truthy:
truegibi — günlük değerlerin çoğu - Önizleme:
Boolean(value)veya doğrudanif (value) - Dize tuzakları:
"0"ve"false"truthy’dir - Sonraki: operatörler — hesap ve karşılaştırma simgeleri
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek