Sobes.tech
Junior — Middle

Dasturlash tillarida ixtiyoriy chaqiriqlar zanjirlaridan foydalanish printsipini tushuntirib berolasizmi?

sobes.tech AI

AIdan javob

Opciónli zanjirlar (optional chaining) — bu sintaksik shakar bo‘lib, u obyekting ichki xususiyatlari yoki metodlariga xavfsiz kirishni ta'minlaydi, hatto ularning ba'zilari nil (null) bo‘lsa ham. Bu nil bo‘lgan xususiyatga kirishga urinish bilan bog‘liq ish vaqtidagi xatoliklarni oldini oladi.

Masalan, Swiftda, agar sizda nil bo‘lishi mumkin bo‘lgan obyekti bo‘lsa va uning xususiyatiga kirishni istasangiz, ? ni xavfsiz kirish uchun ishlatasiz:

class Person {
    var residence: Residence?
}

class Residence {
    var numberOfRooms = 1
}

let john = Person()
// john.residence nil bo‘lishi mumkin

// Optional chainingsiz, xona sonini olish uchun tekshirish kerak:
if let roomCount = john.residence?.numberOfRooms {
    print("Xonalar soni: \(roomCount)")
} else {
    print("Yashash joyi haqida ma'lumot mavjud emas")
}

Bu yerda, john.residence?.numberOfRooms nil bo‘lsa, nil qaytaradi va xato bermaydi.

Shu tarzda, optional chaining kodni soddalashtiradi va opsional qiymatlar bilan ishlashda uni xavfsizroq qiladi.