Çözüldü Kod sorusunun cevabı neden false?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

1Behruz1

Femtopat
Katılım
1 Nisan 2024
Mesajlar
13
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar çok zor bir soruyla karşılaştım ve acilen yarın için cevabının açıklaması lazım. Kod şu:

JavaScript:
let car1 = {
    model: "Nexia",
    date: "2006"
}
let car2 = {
    model: "Nexia",
    date: "2006"
}
console.log(car1 == car2)

Cevabı false peki ya neden?
Dipnot sebebi: car1 ve car2nin rakamlarının farkından dolayı değil.
 
Çözüm
Arkadaşlar çok zor bir soruyla karşılaştım ve acilen yarın için cevabının açıklaması lazım. Kod şu:

JavaScript:
let car1 = {
    model: "Nexia",
    date: "2006"
}
let car2 = {
    model: "Nexia",
    date: "2006"
}
console.log(car1 == car2)

Cevabı false peki ya neden?
Dipnot sebebi: car1 ve car2nin rakamlarının farkından dolayı değil.

İki obje aynı özelliklere sahip ama aynı noktayı referans vermiyorlar. Birinin adresi xxxx1 ise diğerinin ki xxxxx2 gibi düşün. Bu şekilde sorguladığında iki obje farklı noktaları referans göstereceğinden eşit olmaz. Eğer özelliklerini kıyaslarsan istediğin sonucu alabilirsin.
Ne demek istediğinizi tam olarak anlamadım false 0 a eşit true da 1 e eşit bu normal değil mi.

Konuyu acarken verdigin ornek, car1 == car2 false ise bu da false olmali. Tutarli degil. Kaldi ki false 0 a esit olmak zorunda da degil. Database sistemlerde bool ve bit iki farkli veri tipidir ornegin.

Referans esitligi pesinde olsaydik === kullanirdik. JS de bu kavram corba biraz, eli yuzu duzgun implementasyonu ici. Go ya da Kotlin e bakabilirsin. JS gibi dillerinden de Elixir deki equality implementasyonuna bakabilirsin. 1 == true degeri false return eder orada. Elixir ornegini o da JS gibi dinamik oldugu icin veriyorum.

 

Yeni konular

Geri
Yukarı