हाल ही में, मैंने जावास्क्रिप्ट में पेश किए गए नए सुरक्षित असाइनमेंट ऑपरेटर (?.=) की खोज की, और मैं वास्तव में इसकी सादगी से रोमांचित हूं। ?
सेफ असाइनमेंट ऑपरेटर (एसएओ) पारंपरिक ट्राई...कैच ब्लॉक का शॉर्टहैंड विकल्प है। यह आपको प्रत्येक ऑपरेशन के लिए स्पष्ट त्रुटि-हैंडलिंग कोड लिखे बिना इनलाइन त्रुटियों को पकड़ने की सुविधा देता है। यहाँ एक उदाहरण है:
const [error, response] ?= await fetch("https://api.example.com/data");
इतना ही! इट्स दैट ईजी। यदि फ़ेच अनुरोध कोई त्रुटि उत्पन्न करता है, तो यह स्वचालित रूप से त्रुटि स्थिरांक में संग्रहीत हो जाता है; अन्यथा, प्रतिक्रिया परिणाम को धारण करती है। बहुत बढ़िया, है ना?
लेकिन रुकिए... और भी बहुत कुछ है।
एसएओ का उपयोग करते समय, आपको अभी भी आगे चलकर त्रुटियों को संभालना होगा, जैसे:
async function getData() { const [requestError, response] ?= await fetch("https://api.example.com/data"); if (requestError) { handleRequestError(requestError); return; } const [parseError, json] ?= await response.json(); if (parseError) { handleParseError(parseError); return; } const [validationError, data] ?= validation.parse(json); if (validationError) { handleValidationError(validationError); return; } return data; }
जबकि SAO त्रुटि प्रबंधन को सरल बनाता है, यह अधिक वर्बोज़ कोड को जन्म दे सकता है। इसकी तुलना पारंपरिक ट्राई...कैच ब्लॉक से करें:
async function getData() { try { const response = await fetch("https://api.example.com/data"); const json = await response.json(); const data = validation.parse(json); return data; } catch (error) { handleError(error); return; } }
इस मामले में, ट्राई...कैच में कोड की केवल 9 लाइनें लगती हैं, जबकि एसएओ इसका लगभग दोगुना है।
तो आप क्या सोचते हैं? क्या सुरक्षित असाइनमेंट ऑपरेटर समय बचाने वाला है, या यह अनावश्यक जटिलता जोड़ता है?
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3