== ve === farkı
Eşitlik karşılaştırmasında tip dönüşümü yapan ve yapmayan operatörleri öğrenirsin.
== ve === farkı
JavaScript'te iki eşitlik operatörü var. == gevşek eşitliktir: karşılaştırmadan önce türleri dönüştürür. === ise katı eşitliktir: türleri dönüştürmez.
Örneğin 5 == "5" önce "5" dizgisini sayıya çevirir ve true döner. Ama 5 === "5" türlerin farklı olduğunu görür (sayı ve dizgi) ve false döner. Sürprizleri önlemek için çoğu zaman === kullanılır.
Nesneler ve başvuru karşılaştırması
Nesneler, diziler ve fonksiyonlar başvuru ile karşılaştırılır. İki nesnenin içeriği aynı olsa bile farklı bellek konumları farklı nesne demektir.
Örnek: {} === {} false döner çünkü iki ayrı boş nesne oluşturulmuştur. Ama const a = {}; ve const b = a; dediğinde a === b true olur çünkü her ikisi de aynı nesneye başvurur. Bu davranış diziler için de geçerlidir.
Uygulama İki karşılaştırmayı yan yana göster
checkStrict adında bir fonksiyon tanımla. a ve b parametreleri alsın. Gövdede console.log(a === b) ve console.log(a == b) satırlarını yaz; böylece katı ve gevşek sonucu karşılaştırabilirsin.
Örnek çözümü göster
function checkStrict(a, b) {
console.log(a === b);
console.log(a == b);
}
Uygulama Üç çift ile çağır
Aşağıdaki checkStrict fonksiyonu tanımlı. Şimdi onu üç çiftle çağır: checkStrict(5, "5"), checkStrict(null, undefined) ve checkStrict(0, false). Her çağrıyı ayrı satıra yaz.
Örnek çözümü göster
function checkStrict(a, b) {
console.log(a === b);
console.log(a == b);
}
checkStrict(5, "5");
checkStrict(null, undefined);
checkStrict(0, false);
Kendini test et
-
Hangisi === ile true döner?
- 5 === "5"
- 5 === 5
- null === undefined
- 0 === false
Cevabı göster
5 === 5 — Doğru. 5 === 5 aynı tür ve aynı değer olduğu için true döner.
-
Katı eşitlik yaz
console.log(0 ____ "");Cevabı göster
console.log(0 === ""); -
Operatörü özelliğine eşle
- ==
- Türü dönüştürür
- ===
- Türü dokunmaz
- !==
- Katı eşitsizlik
- !=
- Eşitsizlik