Menu
Coddy logo textTech

Sıkı ve Gevşek Eşitlik

Coddy'nin JavaScript Journey'sinin Temeller bölümünün bir parçası — ders 16 / 77.

JavaScript'te iki tür eşitlik operatörü vardır: gevşek eşitlik (==) ve katı eşitlik (===).

Gevşek eşitlik (==), tür zorlaması (type coercion) gerçekleştirdikten sonra iki değerin eşit olup olmadığını kontrol eder. Bu, eğer işlenenler farklı türlere sahipse, JavaScript'in karşılaştırmayı yapmadan önce onları ortak bir türe dönüştürmeye çalışacağı anlamına gelir.

Örneğin:

let b = 5 == "5";   // Doğrudur, çünkü "5" dizesi karşılaştırmadan önce 5 sayısına dönüştürülür
let b = 0 == false; // true değerini tutar, çünkü karşılaştırmadan önce boolean false değeri 0 sayısına dönüştürülür

Sıkı eşitlik (===) ise diğer yandan, herhangi bir tür dönüşümü gerçekleştirmeden iki değerin eşit olup olmadığını kontrol eder. Eğer operandlar farklı türlere sahipse, eşit olmadıkları kabul edilir.

Örneğin:

let b = 5 === "5";   // false değerini tutar, çünkü tür dönüşümü gerçekleştirilmez ve bir sayı bir dizeye eşit değildir
let b = 0 === false; // false değerini tutar, çünkü tür dönüşümü gerçekleştirilmez ve 0 sayısı boolean false değerine eşit değildir

Genel olarak, tür zorlaması (type coercion) nedeniyle oluşabilecek beklenmedik sonuçlardan kaçınmak için çoğu durumda katı eşitlik (===) kullanılması önerilir.

Benzer şekilde, benzer bir şekilde çalışan ancak eşitlik yerine eşitsizliği kontrol eden gevşek eşitsizlik (!=) ve katı eşitsizlik (!==) operatörleri de vardır.

Gevşek eşitsizlik (!=), tür zorlaması (type coercion) gerçekleştirdikten sonra iki değerin eşit olmadığını kontrol ederken; katı eşitsizlik (!==), tür dönüşümü gerçekleştirmeden iki değerin eşit olmadığını kontrol eder.

challenge icon

Görev

Başlangıç

Size a, b ve c olmak üzere üç değişken içeren bir kod verilmiştir.

Göreviniz aşağıdaki karşılaştırmaları yapmak ve sonuçları yazdırmaktır:

  1. a'nın b'ye gevşek bir şekilde eşit olup olmadığını kontrol edin ve sonucu d değişkeninde saklayın.
  2. a'nın c'ye kesin bir şekilde eşit olup olmadığını kontrol edin ve sonucu e değişkeninde saklayın.
  3. b'nin c'ye gevşek bir şekilde eşit olmadığını kontrol edin ve sonucu f değişkeninde saklayın.
  4. a'nın b'ye kesin bir şekilde eşit olmadığını kontrol edin ve sonucu g değişkeninde saklayın.

Görevi tamamlamak için verilen değişkenleri ve karşılaştırma operatörlerini kullanın.

Kopya kağıdı

JavaScript'in iki tür eşitlik operatörü vardır:

Gevşek eşitlik (==) karşılaştırmadan önce tür zorlaması (type coercion) gerçekleştirir:

5 == "5"   // true - "5" dizesi 5 sayısına dönüştürüldü
0 == false // true - boolean false 0 sayısına dönüştürüldü

Katı eşitlik (===) tür dönüşümü yapmadan karşılaştırır:

5 === "5"   // false - sayıya karşı dize, dönüşüm yok
0 === false // false - sayıya karşı boolean, dönüşüm yok

Benzer şekilde eşitsizlik operatörleri için:

  • Gevşek eşitsizlik (!=) - tür zorlaması gerçekleştirir
  • Katı eşitsizlik (!==) - tür dönüşümü yok

Tür zorlamasından kaynaklanan beklenmedik sonuçlardan kaçınmak için katı eşitlik (===) kullanılması önerilir.

Kendin dene

// Verilen değişkenler
let a = 10
let b = "10"
let c = true

// Kodunuzu aşağıya yazın


// Aşağıdaki satırı değiştirmeyin
console.log(`d = ${d}`)
console.log(`e = ${e}`)
console.log(`f = ${f}`)
console.log(`g = ${g}`)
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler