2013-04-20 8 views
7

के फायदे मैंने अभी टाइपस्क्रिप्ट की मूल बातें पढ़ना शुरू कर दिया है और क्या कोई मुझे जावास्क्रिप्ट या jquery पर टाइपस्क्रिप्ट का उपयोग करने के फायदे बता सकता है? कुछ उदाहरण सहायक होंगे।टाइपस्क्रिप्ट

+3

टाइपस्क्रिप्ट आपको मजबूत टाइपिंग और संकलन समय की जांच देता है। जावास्क्रिप्ट नहीं करता है। jquery एक पुस्तकालय है और दोनों के साथ इस्तेमाल किया जा सकता है। टाइपस्क्रिप्ट जावास्क्रिप्ट का एक सुपरसेट है। – devshorts

उत्तर

2

यहाँ टाइपप्रति पर वीडियो का एक संग्रह है:

http://channel9.msdn.com/search?term=typescript

मूल रूप से यह जावास्क्रिप्ट के लिए वैकल्पिक स्थिर टाइपिंग कहते हैं, इसलिए सभी स्थिर टाइपिंग के फायदे जावास्क्रिप्ट के लिए लाया।

+0

लिंक के लिए धन्यवाद केनेथ। मैंने बस पहला वीडियो देखा। यह जानकारीपूर्ण था। कुछ समय बाद शेष करेंगे। :) – Bala

3

JQuery और टाइपस्क्रिप्ट पारस्परिक रूप से अनन्य नहीं हैं, क्योंकि यह टाइपस्क्रिप्ट में JQuery का उपयोग करने के लिए काफी आम है। जावास्क्रिप्ट पर टाइपस्क्रिप्ट का उपयोग करने का मुख्य लाभ प्रकार की जांच के अतिरिक्त है। यह आपको इंटरफेस बनाने और अनुबंध द्वारा विकसित करने की अनुमति देता है। बड़ी परियोजनाओं में, यह प्रकार की जांच करने के लिए फायदेमंद हो सकता है, लेकिन यह एक व्यक्तिपरक वरीयता है।

+0

धन्यवाद शॉन।अब तक मैं क्लाइंट साइड सत्यापन के लिए जावास्क्रिप्ट का उपयोग करता हूं और क्लाइंट चयन के आधार पर पृष्ठ में नियंत्रण सक्षम या अक्षम करता हूं। मेरा अधिकांश व्यवसाय तर्क सी # में लिखा गया है। क्लाइंट पक्ष में इंटरफेस बनाना मेरे लिए नया है। क्लाइंट पक्ष में इंटरफेस कैसे उपयोगी होंगे? – Bala

+0

यह आपके उपयोग के मामले पर निर्भर करता है। हमने टाइपस्क्रिप्ट में काफी बड़े क्लाइंट-साइड अनुप्रयोग विकसित किए हैं, इसलिए इंटरफेस के माध्यम से डीकॉप्लेड कोड लिखने में सक्षम होने पर टाइपिंग जांचना अच्छा रहा है। फिर, यह व्यक्तिपरक है। –

+0

इंटरफेस बनाने की मेरी समझ के अनुसार, कक्षाएं सबकुछ आपके डेटाबेस (या तालिका) संरचना पर निर्भर करता है। आपके मामले में, क्या आपका मतलब है कि टाइपस्क्रिप्ट कोड में कुछ व्यावसायिक तर्क भी होंगे? यदि ऐसा है तो अंतिम उपयोगकर्ता को तर्क देखने के लिए यह संभव है? साथ ही मैंने पढ़ा है कि .ts फ़ाइल .js फ़ाइल में संकलित होगी। – Bala

11

मैंने कुछ छोटी शौक परियोजनाओं के लिए टाइपस्क्रिप्ट का उपयोग किया है और मुझे विश्वास है कि यह एकदम सही जावास्क्रिप्ट प्रतिस्थापन है। मेरी पसंदीदा विशेषताएं थीं:

  • घोषणा फाइलें। घोषणा फाइलों के साथ आप अपने जावास्क्रिप्ट पुस्तकालयों में प्रकार की जानकारी जोड़ सकते हैं। यह संरचनात्मक जानकारी आपको VisualStudio में शानदार इंटेलिजेंस समर्थन प्रदान करेगी।

  • "मानक" ओओपी। यदि आप सी # या जावा पृष्ठभूमि से आते हैं तो आपको शायद एक टाइपस्क्रिप्ट ट्यूटोरियल की आवश्यकता नहीं होगी। यह सिर्फ काम करता है। आपके पास कक्षाएं, इंटरफेस, एक्सेस मॉडिफायर, एक्सटेंशन मैकेनिज्म, ...

  • मॉड्यूल के लिए अंतर्निहित समर्थन है। टाइपस्क्रिप्ट में थोड़ा भ्रमित मॉड्यूल सिस्टम है। आप अपने कोड को कई .ts फ़ाइलों में विभाजित कर सकते हैं और बस उन्हें जोड़ सकते हैं लेकिन आप विभिन्न मॉड्यूल भी बना सकते हैं।

और अंत में: वाक्यविन्यास। कभी-कभी यह छोटी चीजें होती हैं जिन पर सबसे बड़ा प्रभाव पड़ता है। मेरे लिए टाइपस्क्रिप्ट का वाक्यविन्यास बिल्कुल सही लगता है।

साथ

प्रकार एनोटेशन ":" मैं आपको कुछ उदाहरण देता हूँ और प्रकार निष्कर्ष

var a = 5; //infers that a has the type number 
var canvas : HTMLCanvasElement = document.getElementById("canvas"); 
// automatically casts to the canvas type. Intellisense will now suggest all the canvas specific methods 

सरणी कि सूची के रूप में काम करते हैं, स्टैक्स, ...

var array= []; //dynamic type 
array.push(1); 
array[1]=2; 
array.pop(); 

var array2 : number[] = []; //typed array 
array[0]=2; 
array[1]="hello" //compile time error. You've got to love the type system. Finally you can trust your collections 
साथ

और कार्यों lambdas के रूप में तीर वाक्य रचना:

var array=[]; 
array.push(1); 
//... 
array.forEach((num)->{alert(num);}); 
//for single statement functions you can write 
array.forEach((num)->alert(num)); 

अब टाइप किया सरणियों और lambdas संयुक्त:

var array: number[]=[]; 
array.push(1); 
//... 

//let's assume you want to work with the data in the array. You've got to filter it and process it. Lambdas will come in handy, as well as the type inference 
array.filter((num)->num>3).map((num)->num*2).forEach((num)->alert(num)); 

// the first lambda with the comparison is fully type safe. The compiler knows the type of the array. Therefore it can infer the type of the parameter num and will check if num can be compared to a number 

मुझे वास्तव में टाइपस्क्रिप्ट का उपयोग करने में मज़ा आया। यह आपकी उत्पादकता में काफी वृद्धि करेगा। और यहां आने के लिए और भी कुछ है: http://typescript.codeplex.com/wikipage?title=Roadmap

0.9 रिलीज जेनेरिक की सुविधा देगा और 1.x संस्करणों के लिए वे async/प्रतीक्षा कॉल को लागू करने की योजना बना रहे हैं।

+0

कूल। प्रश्न का उत्तर देने में आपके समय के लिए धन्यवाद। टाइपस्क्रिप्ट क्लाइंट साइड सी # है जो जावास्क्रिप्ट में परिवर्तित हो जाती है। – Bala