2011-06-17 17 views
22

हम परियोजनाओं में स्थिरता बनाए रखने के लिए हमारी कंपनी के भीतर Google JavaScript coding guidelines को अपनाने पर विचार कर रहे हैं लेकिन एक बात मुझे भ्रमित कर रही है। constants पर अनुभाग में यह संकलन-समय निरंतर प्रवर्तन के लिए @const कीवर्ड एनोटेशन का उपयोग करने के लिए कहता है लेकिन मैं पहले कभी @ प्रतीक पर नहीं आया हूं। क्या यह एक Google एक्सटेंशन या कोर भाषा का हिस्सा है?जावास्क्रिप्ट में @const का मतलब क्या है?

गैर पुरातन के लिए, @const एनोटेशन का उपयोग करें:

यहाँ पूरा टेक्स्ट है।

/** 
* The number of seconds in each of the given units. 
* @type {Object.<number>} 
* @const 
*/ 
goog.example.SECONDS_TABLE = { 
    minute: 60, 
    hour: 60 * 60 
    day: 60 * 60 * 24 
} 

इस संकलक लगातार सत्ता लागू करने के लिए अनुमति देता है।

const कीवर्ड के लिए, इंटरनेट एक्सप्लोरर इसका विश्लेषण नहीं करता है, इसलिए इसका उपयोग न करें।

उत्तर

16

जेएसडीओसी एनोटेशन इस प्रकार का उपयोग Google क्लोजर कंपाइलर को संकेत देने के लिए किया जा सकता है जैसा कि this page में वर्णित है। दोबारा, यह भाषा का हिस्सा नहीं है, और @constant (आपके साथी प्रोग्रामर के लिए कुछ जानकारी जोड़ने के अलावा) का उपयोग केवल तभी प्रासंगिक है जब आप अपनी परियोजना में क्लोजर कंपाइलर का उपयोग करते हैं।

आशा इस में मदद मिलेगी :)

4

ऐसा लगता है कि यह कुछ ऑब्जेक्ट निरंतर चिह्नित करने के लिए जेएसडीओसी (सोचें जावाडोक) में @const के उपयोग का जिक्र कर रहा है।

यह जावास्क्रिप्ट कीवर्ड नहीं है और भाषा का हिस्सा नहीं है - बस जेएसडीओसी में इनलाइन दस्तावेज़ों में उपयोग किया जाता है।

संपादित करें: 'कभी भी कॉन्स कीवर्ड का उपयोग न करें' का उल्लेख आपको भ्रमित कर सकता है। दिशानिर्देश बताते हैं कि आईएस का समर्थन नहीं है क्योंकि आईई इसका समर्थन नहीं करता है, इसके बजाय दस्तावेज में "स्थिरांक" निरंतर चिह्नित करता है।

कुछ जावास्क्रिप्ट संकलक जेएसडोक को इस तरह के नोटेशन के लिए पार्स कर सकते हैं, लेकिन मुझे शक है कि यह मानक है।

+1

मैं अत्यधिक शक किसी भी मुख्यधारा js इंजन JSDoc – Raynos

+0

हाँ पार्स करता है, के रूप में sitifensys समझाया ऊपर यह अजीब गूगल बकवास है। –

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