जवाबों:
अंतर यह है कि as Circle
TSX फ़ाइलों में काम करता है, लेकिन <Circle>
JSX सिंटैक्स के साथ विरोध करता है। as
इस कारण से शुरू किया गया था।
उदाहरण के लिए, .tsx
फ़ाइल में निम्न कोड :
var circle = <Circle> createShape("circle");
निम्नलिखित त्रुटि का परिणाम होगा:
TS17002 त्रुटि: 'सर्कल' के लिए संबंधित JSX समापन टैग की अपेक्षा।
हालांकि, as Circle
बस ठीक काम करेगा।
as Circle
अभी से उपयोग करें । यह अनुशंसित सिंटैक्स है।
से विकी पेज : "क्या टाइपप्रति में [1.6] नया क्या है":
नई
.tsx
फ़ाइल एक्सटेंशन औरas
ऑपरेटरटाइपस्क्रिप्ट 1.6 एक नई
.tsx
फ़ाइल एक्सटेंशन का परिचय देता है । यह एक्सटेंशन दो काम करता है: यह टाइपस्क्रिप्ट फ़ाइलों के अंदर JSX को सक्षम करता है, और यह नएas
ऑपरेटर को कास्ट करने के लिए डिफ़ॉल्ट तरीका बनाता है (JSX अभिव्यक्तियों और टाइपस्क्रिप्ट प्रीफ़िक्स कास्ट ऑपरेटर के बीच किसी भी अस्पष्टता को हटाने)। उदाहरण के लिए:var x = <any> foo; // is equivalent to: var x = foo as any;