CodeBlanks Logo Icon CodeBlanks

Karşılaştırma tuzakları

JavaScript kursu · Başlangıç · Ders 17/133

=== ve == arasındaki farkı ve tip dönüşümü tuzaklarını öğrenirsin.

Katı eşitlik === ve gevşek eşitlik ==

JavaScript'te iki eşitlik operatörü vardır. === katı eşitliktir: hem değeri hem de tipi karşılaştırır. == ise gevşek eşitliktir: tipleri eşlemek için tip dönüşümü (type coercion) yapar ve sürpriz sonuçlar üretebilir.

5 === 5    // true
5 === "5"  // false (sayı vs dize)
5 == "5"   // true (dize sayıya çevrilir)

Modern JavaScript'te her zaman === kullanılması önerilir; bu, beklenmeyen dönüşümleri önler.

Tip dönüşümü tuzakları

== operatörü beklenmedik sonuçlar üretebilir. İşte yaygın tuzaklar:

0 == false      // true
"" == false      // true
null == undefined // true
"0" == false     // true

Bu durumlar kod okurken kafa karıştırır. === kullanırsan hiçbir dönüşüm olmaz ve karşılaştırma nettir: 0 === false false döner.

Uygulama Katı eşitlikle değer karşılaştır

userInput değişkeni bir dizedir. Sayı 5 ile katı eşitlikle (===) karşılaştır. Eşitse console.log ile 'Sayı 5' yaz, değilse 'Sayı 5 değil' yaz. if, else ve === kullan.

Örnek çözümü göster
let userInput = "5";
if (userInput === 5) {
  console.log("Sayı 5");
} else {
  console.log("Sayı 5 değil");
}

Kendini test et

  1. "5" == 5 ifadesinin sonucu nedir?

    • false
    • true
    • Hata fırlatır
    • undefined döner
    Cevabı göster

    true — Doğru. == gevşek eşitliktir; dize '5' sayıya çevrilir ve 5 == 5 true olur.

  2. Katı eşitlikle karşılaştır

    let input = "5";
    if (input ____ 5) {
      console.log("Eşit");
    }
    Cevabı göster
    let input = "5";
    if (input === 5) {
      console.log("Eşit");
    }
  3. Karşılaştırma operatörlerini eşleştir

    ===
    Katı eşitlik (tip + değer)
    ==
    Gevşek eşitlik (tip dönüşümlü)
    !==
    Katı eşitsizlik
    !=
    Gevşek eşitsizlik

Başlangıç bölümündeki tüm dersler