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ürlet 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ürSı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ğildirlet 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ğildirGenel 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.
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:
a'nınb'ye gevşek bir şekilde eşit olup olmadığını kontrol edin ve sonucuddeğişkeninde saklayın.a'nınc'ye kesin bir şekilde eşit olup olmadığını kontrol edin ve sonucuedeğişkeninde saklayın.b'ninc'ye gevşek bir şekilde eşit olmadığını kontrol edin ve sonucufdeğişkeninde saklayın.a'nınb'ye kesin bir şekilde eşit olmadığını kontrol edin ve sonucugdeğ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 yokBenzer ş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}`)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
4Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Tür Zorlama7Hesap Paylaştırma Hesaplayıcısı
Hoş Geldiniz MesajıBahşiş ve Toplamı Hesaplama2Değişkenler
SayılarStringBooleanİsimlendirme KurallarıBoş DeğişkenlerÖzet - Değişkenleri BaşlatmaSabitler3Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüAritmetik KısayollarKarşılaştırma OperatörleriSıkı ve Gevşek EşitlikÖzet - Basit Matematik6Temel Giriş-Çıkış
ÇıktıDeğişkenlerle ÇıktıTür Dönüşümü - Bölüm 1Tür Dönüşümü - Bölüm 2Özet - 120'ye KadarÖzet - Doğru veya Yanlış