2013-10-08 9 views
6

जेएसडीओसी @type टैग एक चर प्रकार के विनिर्देश की अनुमति देता है, जैसे /** @type {Number} */। हालांकि मैंने घुंघराले ब्रेसिज़ के बिना /** @type Number */ भी देखा है, और यह समान रूप से मान्य लगता है।जेएसडीओसी @ टाइप घुंघराले ब्रेसिज़ क्या हैं?

Use JSDoc घुंघराले ब्रेसिज़ के साथ और बिना दोनों उदाहरण हैं, लेकिन अंतर पर चर्चा नहीं करते हैं। Google Closure Compiler प्रलेखन का तात्पर्य है कि सभी घोषणाओं में घुंघराले ब्रेसिज़ होना चाहिए, लेकिन यह निर्दिष्ट नहीं करता कि क्या होता है यदि ऐसा नहीं होता है।

घुंघराले ब्रेसिज़ महत्वपूर्ण हैं? यदि हां, तो क्यों? और यदि नहीं, तो क्या मुझे उनका उपयोग करना चाहिए या नहीं?

+0

ऐसा लगता है कि [http://usejsdoc.org/tags-type.html] में अब कोई ब्रासेलस-उदाहरण नहीं है। लेकिन व्यक्तिगत रूप से, मुझे लगता है कि ब्रेस्सेल सिंटैक्स मेरे सिर में पार्सर द्वारा बहुत अधिक पठनीय है। – Lambart

उत्तर

4

मेरा सबसे अच्छा अनुमान यह है कि घुंघराले ब्रेसिज़ पार्सर के लिए हैं, क्योंकि कुछ प्रकार के चश्मे में रिक्त स्थान हो सकते हैं।

उदाहरण के लिए। स्ट्रिंग कुंजी और संख्या मूल्यों के साथ एक वस्तु:

{Object.<string, number>} 

पार्सर के आधार पर एक सरल प्रकार (उदाहरण के लिए स्ट्रिंग) घुंघराले ब्रेसिज़ की जरूरत नहीं हो सकता है के रूप में पार्सर प्रकार घोषणा के अंत के रूप में पहली खाली स्थान के पढ़ा जाएगा।

संपादित करें: आगे पढ़ने से पता चलता है कि घुंघराले ब्रैकेट की आवश्यकता है, इसलिए उन्हें छोड़ना एक त्रुटि है, लेकिन कुछ (यदि अधिकतर/सभी नहीं हैं) पार्सर्स ऊपर की तरह संभाले जा सकते हैं तो पागलपन स्लॉपी प्रकार परिभाषाओं को माफ कर देंगे।

tldr: वे महत्वपूर्ण हैं, लेकिन आप कुछ मामलों में उनका उपयोग किए बिना दूर हो सकते हैं।

+0

@ लैम्बर्ट की टिप्पणी के अनुसार, मुझे नहीं पता कि यह अभी भी मामला है, लेकिन डिफ़ॉल्ट रूप से यह सबसे अच्छा जवाब है! – orlade

+0

आगे पढ़ने से पता चलता है कि घुंघराले ब्रैकेट की आवश्यकता है? आधिकारिक JSDoc दस्तावेज़ों के कुछ टुकड़े उनका उपयोग नहीं करते हैं, उदा। http://usejsdoc.org/tags-augments.html – Alicia

संबंधित मुद्दे