JavaScript-da "ixtiyoriy zanjir"

Ob'ektning o'zi yoki zanjirdagi har qanday vositachi xususiyatlar nol yoki aniqlanmagan bo'lsa, ob'ekt xususiyatlariga kirishni yoki uning usullarini chaqirishni osonlashtirish uchun JavaScript-ga ixtiyoriy zanjir deb nomlangan xususiyat qo'shildi. Xususiyatlarga kirish yoki bo'sh yoki null qiymatlarda qo'ng'iroq qilish usullariga kirishga urinishda xatolarga olib kelishi mumkin bo'lgan stsenariylardan qochishga yordam beradi.

Ixtiyoriy zanjirlash operatori savol belgisi (?.) bilan ifodalanadi va u ichki xususiyatlar yoki chaqiruv usullariga kirish uchun nuqta belgisi (object.property) yoki qavs belgisi (object['property']) bilan birgalikda ishlatilishi mumkin.

Mana ixtiyoriy zanjirlar qanday ishlashini ko'rsatadigan misol

Yuqoridagi misolda person address xususiyatiga ega bo'lgan ob'ekt bo'lib, u o'z navbatida city xususiyatiga ega. Birinchi misol city xususiyatiga ixtiyoriy zanjirsiz kirishni ko'rsatadi, bu yaxshi ishlaydi. Biroq, mavjud bo'lmagan zipCode xususiyatiga kirishga harakat qilganda, u undefined ni qaytaradi.

?. operatori tomonidan taqdim etilgan ixtiyoriy zanjir bilan biz xususiyatlarga xavfsiz kirishimiz mumkin. Agar zanjirdagi biron bir xususiyat nol yoki aniqlanmagan bo'lsa, natija aniqlanmagan bo'ladi. Bu kodni xatoga yo'l qo'ymaslikka yordam beradi.

Bundan tashqari, potentsial nol yoki aniqlanmagan qiymatlarda usullarni chaqirishda ixtiyoriy zanjirlash ham ishlatilishi mumkin.

Ushbu misolda person obyekti sayHello usuliga ega. Usulni ixtiyoriy zanjirsiz chaqirganda, u 'Hello!' ni bajaradi va qayd qiladi. Biroq, mavjud bo'lmagan sayGoodbye usuli bilan ixtiyoriy zanjirdan foydalanilganda, hech qanday xatolikka yo'l qo'yilmaydi va hech narsa bajarilmaydi.

Ixtiyoriy zanjirlash JavaScript-da xususiyatlar yoki chaqiruv usullariga kirishda potentsial nol yoki noaniq qiymatlarni boshqarishning qisqa va xavfsiz usulini ta'minlaydi, ortiqcha null tekshiruvlariga bo'lgan ehtiyojni kamaytiradi va kodni o'qish va mustahkamligini oshiradi.

O'qish uchun rahmat