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ündefalse0— Sıfır sayısı (ondalık olarak0.0dafalsy'dir)-0— Negatif sıfır (teknik olarak0dan farklıdır ancak yine defalsydir)0n— BigInt türünde sıfır""— Uzunluğu 0 olan boş bir dizenull— Değer yokundefined— Tanımsız değerNaN— 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ündetrue- Sayılar (0 dışında) — Örneğin,
1ve-1detruthydir. - Boş olmayan stringler — örneğin,
"Hello"veya" "(sadece boşluk içeren stringler biletruthyolarak kabul edilir) - Objeler — Boş objeler (
{}) ve diziler ([]) biletruthydir. - Fonksiyonlar — Fonksiyonların kendileri de
truthydir. Symbol—Symboltüründeki değerler detruthyolarak kabul edilir.Infinity— Hem pozitif hem negatif sonsuzluktruthydir.
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.