वैकल्पिक चेंजिंग ऑपरेटर पथ को तब तक जारी रखेगा जब तक कि यह किसी संपत्ति मूल्य तक नहीं पहुंच जाता या कोई त्रुटि नहीं हो जाती:
कर्मचारी को जाने दो = {संतोष : 'जॉन' ,
उपनाम : 'डो' ,
आयु : 3. 4
} ;
सांत्वना देना। लकड़ी का लट्ठा ( कर्मचारी। पता ? . ज़िप ) ;
यदि हमने वैकल्पिक चेनिंग ऑपरेटर का उपयोग किए बिना समान संपत्ति मूल्य तक पहुँचने का प्रयास किया होता तो हमें एक त्रुटि प्राप्त होती:
कर्मचारी को जाने दो = {
संतोष : 'जॉन' ,
उपनाम : 'डो' ,
आयु : 3. 4
} ;
सांत्वना देना। लकड़ी का लट्ठा ( कर्मचारी। पता . ज़िप ) ;
मेथड कॉल्स पर वैकल्पिक श्रृखंला
वैकल्पिक चेनिंग विधि कॉल पर भी काम करती है। आप वैकल्पिक श्रृखंला का उपयोग कर सकते हैं जब आप सुनिश्चित नहीं हैं कि कोई विधि किसी वस्तु के भीतर मौजूद है या नहीं। एक उदाहरण उपयोग मामला एक एपीआई से प्राप्त डेटा है जिसमें उपयोगकर्ता के डिवाइस के आधार पर कुछ विशेषताएं हो सकती हैं या नहीं भी हो सकती हैं:
कर्मचारी को जाने दो = {
संतोष : 'जॉन' ,
उपनाम : 'डो' ,
आयु : 3. 4
} ;
सांत्वना देना। लकड़ी का लट्ठा ( कर्मचारी। तरीका ? . ( ) ) ;
वैकल्पिक जंजीर के बिना:
कर्मचारी को जाने दो = {
संतोष : 'जॉन' ,
उपनाम : 'डो' ,
आयु : 3. 4
} ;
सांत्वना देना। लकड़ी का लट्ठा ( कर्मचारी। तरीका ( ) ) ;
वैकल्पिक चेनिंग ऑपरेटर को त्रुटियों से बचने के लिए एक ही स्टेटमेंट में कई बार इस्तेमाल किया जा सकता है।
नलिश कोलेसिंग ऑपरेटर के साथ वैकल्पिक चेनिंग का संयोजन
वैकल्पिक श्रृखंला के साथ भी जोड़ा जा सकता है ?? संपत्ति या विधि मौजूद नहीं होने की स्थिति में एक डिफ़ॉल्ट मान प्रदान करने के लिए ऑपरेटर:
कर्मचारी को जाने दो = {संतोष : 'जॉन' ,
उपनाम : 'डो' ,
आयु : 3. 4
} ;
सांत्वना देना। लकड़ी का लट्ठा ( कर्मचारी। तरीका ? . ( ) ?? 'कार्य मौजूद नहीं है' ) ;
डिफ़ॉल्ट मान कुछ फ़ंक्शन कॉल भी हो सकता है।
वैकल्पिक चेनिंग अति प्रयोग
कोड की पठनीयता और लालित्य को बढ़ाने के लिए वैकल्पिक श्रृखंला पेश की गई थी। इसका उपयोग सावधानी से किया जाना चाहिए क्योंकि इसके परिणामस्वरूप त्रुटियों को शांत किया जा सकता है। वैकल्पिक चेनिंग ऑपरेटर के अति प्रयोग से आपके कोड में समस्या आ सकती है।
निष्कर्ष
वैकल्पिक चेनिंग जावास्क्रिप्ट की एक हाल ही में जोड़ी गई विशेषता है जिसका उपयोग उन विधियों और गुणों के अस्तित्व के लिए मैन्युअल जांच में डालने की चिंता किए बिना गहरे नेस्टेड जावास्क्रिप्ट ऑब्जेक्ट्स के भीतर गुणों और विधियों तक पहुंचने के लिए किया जा सकता है।