2015-11-06 11 views
9

परिभाषा फ़ाइल को डिज़ाइन करते समय, मैं इस त्रुटि (TS2507) में आया था।टाइप एक्स एक 'कन्स्ट्रक्टर फ़ंक्शन प्रकार' नहीं है (TS2507)

मैं 'कन्स्ट्रक्टर फ़ंक्शन प्रकार' होने के लिए एक प्रकार कैसे निर्दिष्ट कर सकता हूं?

उत्तर

14

आप एक इंटरफेस को परिभाषित कर रहे हैं, तो आप घोषणा कर सकते हैं कि यह इस तरह की तरह एक निर्माता है:

interface SomeInterface { 
    new(someParam: any): SomeInterface 
} 

यह उपयोगी है जब आप के लिए typings परिभाषित कर रहे हैं पहले से ही मौजूदा जेएस पुस्तकालयों। अधिक जानकारी के लिए this SO answer देखें।

-1

अच्छी तरह से, यदि आप त्रुटि की मूल परिभाषा (https://github.com/Microsoft/TypeScript/blob/master/tests/baselines/reference/classExtendingPrimitive.errors.txt) पर नज़र डालते हैं तो आप देखेंगे कि इस त्रुटि संदेश में 'अपरिभाषित' हार्डकोड किया गया है। और अनिर्धारित कभी वैध कन्स्ट्रक्टर प्रकार (जेएस में भी) नहीं था। तो, मुझे लगता है कि आपको कुछ भी करने की आवश्यकता नहीं है, लेकिन यह सुनिश्चित करें कि आप एक वैध कन्स्ट्रक्टर पास करते हैं और अनिर्धारित राहत नहीं देते हैं। शून्य। ऐसी समस्या के लिए एक उदाहरण यहां पाया जा सकता: https://www.codecademy.com/forum_questions/52f67024282ae3a0890009b0

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