Çö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
28
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.
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.
 
Çözüm
Özellikleri aynı olan RAM'de farkli yerlerdeki iki farklı ögeler cünkü.
Heh işte bunu arıyordum ama tam açıklama lazım.

Bu verilerin ikisi de array. Nasıl eşleştirme yapacaksın?

JavaScript:
car1.model == car2.model

Şeklinde doğru kullanımı.
Bir yanlışım varsa düzeltin ama bu array değil object.

İ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.
Evet doğru noktaya değindiniz ama işte gönderildikleri yerin adı neydi ve bunun tam açıklaması gerekmekte.
 
Evet doğru noktaya değindiniz ama işte gönderildikleri yerin adı neydi ve bunun tam açıklaması gerekmekte.

Bellekte tutuluyorlar. Obje bellekte değerin bulunduğu adresi tutuyor. Bu tip verilere referans tipi değerler denir, dizi ve fonksiyonlarda bunlara dahil. Sayı değerleri gibi basit değerler ise bellekte direkt değeri tutar.

Sen iki farklı obje tanımladığın için bellekte aynı adres değil farklı adresler tutuluyor bu yüzden iki objeyi eşittir yaptığında false döner. Değer tiplerinde ise aynı değer tutulduğu için true döner.
 
Bellekte tutuluyorlar. Obje bellekte değerin bulunduğu adresi tutuyor. Bu tip verilere referans tipi değerler denir, dizi ve fonksiyonlarda bunlara dahil. Sayı değerleri gibi basit değerler ise bellekte direkt değeri tutar.

Sen iki farklı obje tanımladığın için bellekte aynı adres değil farklı adresler tutuluyor bu yüzden iki objeyi eşittir yaptığında false döner. Değer tiplerinde ise aynı değer tutulduğu için true döner.
Ben yeniyim de bu konuyu nasıl çözüldü yapacağım son sorum bu.
 
Eşleştirme yanlış değil mi?
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.
 

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı