मैंने अभी टाइपस्क्रिप्ट का उपयोग करना शुरू किया और कभी-कभी संकलक त्रुटियों को "अविकसित चर का उपयोग" मिलता है। उदाहरण के सादे JavaScript में निम्न काम करता है के लिए:टाइपस्क्रिप्ट वास्तव में जावास्क्रिप्ट का सुपरसैट है?
var foo = {};
foo.bar = 42;
अगर मैं यह काम नहीं करेगा और मुझे ऊपर उल्लेख किया त्रुटि दिखा सकते हैं टाइपप्रति में भी ऐसा ही करने की कोशिश करो। मैं इसे इस तरह लिखने के लिए है:
var foo :any = {};
foo.bar = 42;
सादा में जावास्क्रिप्ट किसी के साथ प्रकार परिभाषा न आवश्यक है और न ही मान्य है, लेकिन टाइपप्रति में यह अनिवार्य हो रहा है। मैं त्रुटि और इसके लिए कारण समझते हैं, लेकिन मैं हमेशा वीडियो में सुना और दस्तावेज में पढ़ें:
"टाइपप्रति जावास्क्रिप्ट का एक टाइप किया सुपरसेट [...] है"
Introduction Video @minute 3:20: ", बस कॉपी और पेस्ट सभी जावा स्क्रिप्ट कोड टाइपप्रति कोड है"
क्या यह चीज टाइपस्क्रिप्ट के विकास के दौरान बदल गई है या क्या मुझे यह काम करने के लिए एक विशिष्ट कंपाइलर सेटिंग पास करनी है?
यह एक सुपरसेट है। लेकिन इसका मतलब यह नहीं है कि यह 1) संकलित और 2) नियमित जावास्क्रिप्ट के रूप में उपयोग किया जा सकता है। उद्देश्य-सी सी/++ का सुपरसेट है, लेकिन यह अपने स्वयं के कंपाइलर/आईडीई/पर्यावरण के साथ जाता है। आपको टाइपस्क्रिप्ट निर्देशों का पालन करना होगा और इसकी तुलना इसकी तुलना नहीं करना चाहिए जो सचमुच जावास्क्रिप्ट पर है। –
हम्म, शायद यह सिर्फ खराब शब्द है। यह वास्तव में एक * त्रुटि * नहीं है? अधिक * चेतावनी * क्योंकि यह वैध जावास्क्रिप्ट उत्पन्न करता है। निश्चित रूप से टाइपप्रति अक्सर दलालों कि संकलक * "बस काम" चाहिए * – CodingIntrigue
@AndreyPopov लिए जावास्क्रिप्ट दे रही है: ठीक है, लेकिन यह जावास्क्रिप्ट की और विशेष रूप से दूसरी बोली में एक वाक्यात्मक सुपर सेट नहीं है की तुलना में फ्लैट गलत है ... – Markus