Javascript öğreniyorum ve kafamı karıştıran bir konu var. İf ifadesi içinde örneklerde == (iki eşit) ve === (üç eşit) görüyorum. == ve === arasında ne fark var?
Toplam 1 cevap
Javascript dilinde 2 farklı eşitlik kontrol operatörü var. Birisi == (iki eşit) bir diğeri === (üç eşit)
Javascript === (üç eşit):
Bu operatör hem değer hem de tür kontrolü yapar.
x===y
Mesela yukarıdaki karşılaştırmada önce türleri aynı mı (int, bool, string) kontrol edilir. Sonra değerleri eşit mi kontrol edilir. Hem tür hem de değer eşitse ifade true döndürür. Eğer türler farklıysa o zaman bu ifade false döndürür. Eşitlik kontrolü yapılırken 3 eşit operatörünün kullanılması daha iyi olur.
Örneğin "0" ve 0 görünüş olarak aynı olsa da tür olarak eşit değillerdir.
Javascript == (iki eşit):
Javascript 2 eşit operatörü türler farklıysa ilk olarak dönüştürmeyi dener. Sonra da karşılaştırma yapar. Örneğin "0" ifadesini integer değere dönüştürmeyi dener. Başarılı olursa değerleri karşılaştırır.Tür dönüşüm işlemi oldukça karmaşıktır.