Kodun mantığına bakılırsa, eğer x en büyükse "x en büyük değerdir." çıktısını almayı bekleriz. Ancak, belirttiğiniz gibi, y ve z'nin 10 olduğu durumda bu şart sağlanmaz ve son else bloğuna gider.
Bunun nedeni, koşulların "&&" (ve) operatörüyle birbirine bağlanmasıdır. Kod, öncelikle x'in y'den ve z'den büyük olup olmadığını kontrol eder. Eğer bu şart sağlanıyorsa, x en büyük olarak belirlenir ve if bloğu çalışır. Ancak, bu şart sağlanmadığında diğer koşullara bakar. İkinci koşul, y'nin x'ten ve z'den büyük olup olmadığını kontrol eder. Eğer bu da sağlanmazsa, son koşul z'nin x'ten ve y'den büyük olup olmadığını kontrol eder.
Eğer sadece x'in en büyük olup olmadığını kontrol etmek istiyorsanız, if-else bloklarını kaldırabilir ve sadece x'in durumunu kontrol edebilirsiniz. Örneğin:
let x = 15;
if (x > 10) {
console.log("x en büyük değerdir.");
} else if (x === 10) {
console.log("x, y ve z eşittir.");
} else {
console.log("x en küçük değerdir.");
}