Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ არჩევით ზარების ჯაჭვების გამოყენების პრინციპი პროგრამირების ენებში?

sobes.tech AI

პასუხი AI-სგან

არჩევითი ჯაჭვები (optional chaining) არის სინტაქსის შაქარი, რომელიც საშუალებას აძლევს უსაფრთხოდ მიაღწიოთ ობიექტის შიდა თვისებებს ან მეთოდებს, მიუხედავად იმისა, რომ ზოგიერთი მათგანი შეიძლება იყოს nil (null). ეს თავიდან აცილებს შესრულების დროს შეცდომებს, რომლებიც დაკავშირებულია nil-ის თვისებაზე წვდომის მცდელობასთან.

მაგალითად, Swift-ში, თუ გაქვთ ობიექტი, რომელიც შეიძლება იყოს nil და გსურთ მის თვისებაზე წვდომა, გამოიყენეთ ? უსაფრთხო წვდომისთვის:

class Person {
    var residence: Residence?
}

class Residence {
    var numberOfRooms = 1
}

let john = Person()
// john.residence შეიძლება იყოს nil

// არაინტერლინული ჯაჭვით, ოთახების რაოდენობის მისაღებად, საჭიროა შემოწმება:
if let roomCount = john.residence?.numberOfRooms {
    print("ოთახების რაოდენობა: \(roomCount)")
} else {
    print("მოსახლეობის შესახებ ინფორმაცია ხელმისაწვდომი არაა")
}

აქ, john.residence?.numberOfRooms დაბრუნებს nil, თუ residence არის nil, და არ გამოიწვევს შეცდომას.

ამგვარად, optional chaining-ი ამარტივებს კოდს და უფრო უსაფრთხოს ხდის მას ოპციონალურ მნიშვნელობებთან მუშაობისას.