जावास्क्रिप्ट में, मुझे अन्य कार्यों के लिए कन्स्ट्रक्टर फ़ंक्शन और ऊंटकेस के लिए पास्कलकेज़ के नामकरण सम्मेलन पसंद है। ऐसा लगता है कि ReSharper इन सेटिंग्स के लिए कॉन्फ़िगर किया गया है। हालांकि, इस तरह कोड के लिए:कन्स्ट्रक्टर फ़ंक्शंस पर जावास्क्रिप्ट नामकरण सम्मेलन के लिए रीशेर्पर चेतावनियां
नाम 'थिंग' नियम 'स्थानीय समारोह' से मेल नहीं नहीं करता है:
function Thing(a, b) { return { prop1: a, prop2: b }; } var thing = new Thing(2, 6);
... मैं इस चेतावनी प्राप्त करते हैं। सुझाया गया नाम 'चीज़' है।
function Thing(a, b) { this.prop1 = a; this.prop2 = b; }
मुझे लगता है कि केवल "सार्वजनिक" कार्यों कंस्ट्रक्टर्स माना जाता है:
यह अगर मैं इस के लिए Thing
बदल कोई फर्क नहीं है। क्या आप में से कोई भी जानता है कि रीशेर्पर कैसे "स्थानीय" और "कन्स्ट्रक्टर" फ़ंक्शन के बीच अंतर करता है? इससे भी बेहतर, क्या आप जानते हैं कि इस व्यवहार को कैसे ओवरराइड करना है?
बग रिपोर्ट खोजने के लिए धन्यवाद। मेरे पास एक सवाल है हालांकि: पूर्व कार्य * कन्स्ट्रक्टर * कैसे नहीं है? यदि कोई फ़ंक्शन 'नया' के साथ कॉल करते समय मान देता है, तो लौटाया गया मान बनाया गया ऑब्जेक्ट के लिए "यह" बन जाता है। इसके अलावा, इसे इस तरह लिखते हुए, आपको वही परिणाम मिलता है चाहे आपने इसे 'नया' या बिना कहा। – Jacob
@ जैकोब क्योंकि यह 'थिंग' की वस्तुओं का निर्माण नहीं करता है, यह 'ऑब्जेक्ट' की ऑब्जेक्ट देता है। जेएस में एक कन्स्ट्रक्टर किसी भी "वर्ग" का एक उदाहरण वापस कर सकता है, और ऑब्जेक्ट शाब्दिक लौटने का एक विशेष मामला है जहां यह सुविधा किसी को कन्स्ट्रक्टर और प्रोटोटाइप के बिंदु को पूरी तरह से अस्वीकार करने की अनुमति देती है। – Esailija
समझ में आता है। स्पष्टीकरण के लिए धन्यवाद। – Jacob