JSDoc से आप कस्टम टाइप का उपयोग करके भी बना सकते हैं @typedef
। मैं इसे थोड़ा बहुत प्रॉप्स / परम का उपयोग करता हूं जो तार के विवरण या सरणियों के प्रकार के विवरण से लिंक करते हैं (जैसे कि string
मैंने एक टाइपराइफ़ बनाया है जिसमें स्ट्रिंग के लिए उपलब्ध मूल निवासी शामिल हैं (नीचे उदाहरण JSDoc देखें) आप एक कस्टम प्रकार परिभाषित कर सकते हैं। इसी तरह से। यह इसलिए है क्योंकि आप रिटर्न के लिए ऑब्जेक्ट डॉट नोटेशन का उपयोग नहीं कर सकते हैं, जैसे आप रिटर्न में क्या है, इसे दर्शाने के लिए @property कर सकते हैं। इसलिए ऐसे मामलों में जहां आप ऑब्जेक्ट की तरह कुछ वापस कर रहे हैं, आप एक परिभाषा बना सकते हैं। उस प्रकार के लिए (' @typedef MyObject
) और फिर @returns {myObject} Definition of myObject
।
मैं इसके साथ पागल नहीं होऊंगा, हालांकि, क्योंकि प्रकार यथासंभव शाब्दिक होने चाहिए और आप अपने प्रकारों को प्रदूषित नहीं करना चाहते हैं, लेकिन ऐसे मामले हैं जहां आप प्रकार को स्पष्ट रूप से परिभाषित करना चाहते हैं, और इसलिए आप क्या दस्तावेज कर सकते हैं इसमें (एक अच्छा उदाहरण मॉडर्निज़्र है ... यह एक वस्तु लौटाता है, लेकिन आपके पास इसका कोई दस्तावेज़ीकरण नहीं है, इसलिए एक कस्टम टाइपफ़ाइफ़ बनाएं जो विवरण देता है कि उस रिटर्न में क्या है)।
यदि आपको उस मार्ग पर जाने की आवश्यकता नहीं है, तो जैसा कि किसी ने पहले ही उल्लेख किया है, आप पाइप का उपयोग करके किसी भी @param, @property, या @return के लिए कई प्रकार निर्दिष्ट कर सकते हैं |
।
आपके मामले में, आप भी एक दस्तावेज़ चाहिए @throws
, क्योंकि आप एक फेंक रहे हैं new error
: * @throws {error} Throws a true new error event when the property err is undefined or not available
।