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";   // true değerini tutar, çü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ü false boolean değeri karşılaştırmadan önce 0 sayısına dönüştürülür
let c = "" == false; // true değerini tutar, çünkü boş dize karşılaştırmadan önce 0 sayısına dönüştürülür

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

Ö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ından (type coercion) kaynaklanan 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.

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