Skip to content

JavaScript’te Falsy ve Truthy Kavramları

Merhaba, bu yazımda sizlere JavaScript’te falsy ve truthy kavramlarından bahsedeceğim. Konu JavaScript başlığı altında temel bir seviyede olsa da bir geliştiricinin geliştirdiği uygulamasından beklediği çıktıları alması ya da okuduğu kodu anlaması açısından geliştiricinin bu konuya hakim olması önemlidir.

Falsy ve Truthy

Falsy adının da çağrıştırdığı üzere, JavaScript’te boolean false olarak değerlendirilen ifade ya da değerlerdir. Falsy ifade ya da değerler şunlardır;

  • Boolean false
  • Boş string değeri: ”
  • undefined bir değişken
  • null bir değişken
  • NaN (Not a number) değerini almış bir değişken
  • Nümerik 0 ya da 0 sonucunu veren bir işleme uğramış değer

Kısaca truthy, falsy kapsamında yer almayan her türlü değer ya da ifadedir.

Uygulama

İlk olarak, içerisinde bir ternary expression ile falsy ya da truthy testimizi yapacak olan fonksiyonu yazalım. Değer boolean false ise falsy çıktısı değil ise truthy çıktısı alınacaktır.

const test =  (val) => { 
    return val ? console.log('truthy') : console.log('falsy')
}

Konuyu pekiştirmek için gerekli olan testlerimizi gerçekleştirelim.

test(false) //falsy
test('')    //falsy

let my_undefined 
test(my_undefined) //falsy

let my_null = null
test(my_null) // falsy

let my_NaN = Number("arda")
test(Number(my_NaN)) // falsy

test(0)      // falsy
test(10-6-4) // falsy

Aşağıda ise truthy çıktısını alacağımız bazı testleri gerçekleştirelim. Falsy listesinde belirttiğimiz kavramların object içerisinde test edilmesi ile truthy çıktılarının alındığına, ayrıca “0” ifadesinin string tipinde olup, nümerik olmadığına ve bu nedenle truthy değerlendirildiğine dikkat etmeliyiz.

test("0")                   // truthy
test(new Number(0))         // truthy
test(new Boolean(false))    // truthy
test([])                    // truthy
test(100)                   // truthy
test("Atakan")              // truthy
const person = {
    name: "Arda",
    age:17
}
test(person)                // truthy
test(person.age)            // truthy

Yukarıdaki uygulamada, test(“0”) ve test([]) testleri ile truthy çıktıları alınsa da aşağıdaki uygulama ile görüleceği üzere [] değeri karşılaştırma operatörü (==) ile birlikte kullanıldığında JavaScript’te false olarak değerlendirilecek, ayrıca “0” string tipi olan değer ise yine karşılaştırma operatöründe nümerik 0 değerine dönüştürülüp, false olarak değerlendirilecektir.

if("0" == false){ // false == false true sonucunu verir.
    console.log(`"0" false olarak değerlendirildi.`)
} 
if([] == false){ //  false == false true sonucunu verir.
    console.log(`[] false olarak değerlendirildi.`)
}
/* Çıktı:
 "0" false olarak değerlendirildi.
 [] false olarak değerlendirildi.
*/

Daha detaylı bilgileri kaynaklar kısmındaki paylaşımlarda bulabilirsiniz. Umarım konu hakkında yazdıklarım sizlere faydalı olur. Benimle yasinatilgan60@gmail.com adresi üzerinden iletişime geçebilirsiniz. İyi günler.

Kaynaklar

https://howtodoinjava.com/typescript/truthy-and-falsy/

https://www.geeksforgeeks.org/why-0-is-equal-to-false-in-javascript/

https://stackoverflow.com/questions/47015361/why-is-0-false

Published inJavaScript

Comments are closed.

Yasin Atılkan © 2025 Copyright | Author WordPress Theme by Compete Themes