टाइपस्क्रिप्ट उन भाषाओं में से एक है जो उपयोग करते हैं जावास्क्रिप्ट रनटाइम के रूप में निष्पादन पर्यावरण: .ts फ़ाइलों को टाइपस्क्रिप्ट कोड युक्त सामान्य जावास्क्रिप्ट में संकलित किया जाता है, जिसे तब ब्राउज़र द्वारा चलाया जा सकता है।
जेरेमी अशकेस ने पहली बार इस अवधारणा को अपनी कॉफ़ीस्क्रिप्ट भाषा के साथ लोकप्रिय बना दिया, लेकिन दुख की बात है, इसके अपेक्षाकृत क्रमशः सिंटैक्स को सी # या विजुअल बेसिक से परिचित डेवलपर्स के लिए सीखना मुश्किल था।
चूंकि माइक्रोसॉफ्ट ने वेब 2.0 प्रौद्योगिकियों में विस्तार किया, इसलिए उसने जेरेमी अशकेस से प्रेरणा लेना चुना। विजुअल स्टूडियो की क्षमताओं के कारण, डेवलपर्स विभिन्न भाषा एक्सटेंशन से लाभ के दौरान बस हैक कर सकते हैं।
टाइपस्क्रिप्ट स्थिर टाइपिंग तक ही सीमित नहीं है: यह विभिन्न प्रकार की उन्नत सुविधाओं के साथ आता है जो आपको वेब पर ऑब्जेक्ट उन्मुख प्रोग्रामिंग प्रतिमानों को अनुकरण करने की अनुमति देता है। यह लघु मार्गदर्शिका आपको इसकी कुछ प्रमुख विशेषताओं के माध्यम से ले जाएगी। यदि भाषा आपको अपील करती है, तो फ्लाई पर अधिक जानकारी सीखी जा सकती है।
हालांकि लिनक्स या मैकोज़ पर टाइपस्क्रिप्ट का भी उपयोग किया जा सकता है, हम माइक्रोसॉफ्ट के आधिकारिक आईडीई से चिपके रहेंगे। विजुअल स्टूडियो 2017 के मुफ्त सामुदायिक संस्करण को डाउनलोड करें माइक्रोसॉफ्ट, यहाँ , और तैनाती के दौरान एएसपी। NET पेलोड को चिह्नित करना सुनिश्चित करें।
टाइपस्क्रिप्ट के तेज़ रिलीज कैडेंस के कारण, विजुअल स्टूडियो को एसडीके मॉड्यूल के साथ विस्तारित करने की आवश्यकता है, जिसे डाउनलोड किया जा सकता है यहां Microsoft साइट । बस इंस्टॉलर को चलाएं जैसे कि यह एक मानक विंडोज एप्लिकेशन था।
यह माइक्रोसॉफ्ट नहीं होगा यदि कुछ अतिरिक्त परेशानी शामिल नहीं थी: जबकि एसडीके आपके विजुअल स्टूडियो इंस्टॉलेशन को अपग्रेड करता है, वास्तविक टीएससी कंपाइलर आपकी कमांड लाइन में नहीं जोड़ा जाता है। इस समस्या को कमांड लाइन पर Node.js के एनपीएम पैकेज मैनेजर का उपयोग करके सबसे अच्छा हल किया गया है।
पीएस सी: \ उपयोगकर्ता \ Tamha \ डाउनलोड & gt; एनपीएम इंस्टॉल-ए टाइपस्क्रिप्ट
सी: \ user \ thamha \ appdata \ roaming \ Npm \ tsc - & gt; सी: \ user \ thamha \ appdata \ loaming \ npm \ node_modules \ प्रकारित \ bin \ tsc
सी: \ user \ thamha \ appdata \ roaming \ Npm \ tsserver - & gt; सी: \ user \ thamha \ appdata \ roaming \ npm \ node_modules \ प्रकारित \ bin \ tsserver
सी: \ उपयोगकर्ता \ Thamha \ AppData \ Roaming \ Npm
`- टाइपस्क्रिप्ट @2.4.2
विजुअल स्टूडियो को समाधान-केंद्रित प्रक्रिया में काम करने की उम्मीद है: दिलचस्प होने पर, यह हमारी आवश्यकताओं के लिए आदर्श से कम है। इसके बजाय, कार्यकर्ता .ts नामक एक फ़ाइल बनाएं और इसे अपनी फ़ाइल सिस्टम में सुविधाजनक स्थान पर रखें। इसे विजुअल स्टूडियो में खींचकर इसे खोलें, और इसे शीर्ष पर टूलबार के अंदर छोड़ दें। इसके बाद, निम्न कोड को शामिल करने के लिए अपनी सामग्री को संशोधित करें:
[9 1] फ़ंक्शन Sayoi () { चेतावनी ("ओई!"); } Sayoi (); [9 2]जैसा कि परिचय में उल्लेख किया गया है, एक .ts फ़ाइल अपने आप पर ज्यादा नहीं कर सकती है। इसके कारण, index.html नामक फ़ाइल बनाने के लिए आगे बढ़ें, जो एक ही फ़ोल्डर में स्थित होना चाहिए। इसके बाद, इस चरण के साथ दिखाए गए कंकाल कोड को जोड़ें। यह कंपाइलर के आउटपुट को लोड करता है, और इसे चलाता है जैसे कि यह जावास्क्रिप्ट का कोई अन्य छोटा था।
[9 1] & lt; html & gt; & lt; हेड और जीटी; & lt; स्क्रिप्ट src = "worker.js" & gt; & lt; / स्क्रिप्ट & gt; & lt; / सिर & gt; & lt; शरीर & gt; & lt; / शरीर & gt; & lt; / html & gt; [9 2]अगले चरण में .ts फ़ाइल का मैन्युअल पुनर्मूल्यांकन शामिल है। ओपन पावरशेल, और इनपुट फ़ाइल के नाम के बाद टीएससी कमांड दर्ज करें। डिफ़ॉल्ट रूप से, आउटपुट फ़ाइल बेस फ़ाइल नाम साझा करेगी, लेकिन .ts के बजाय .js का विस्तार होगा। अंत में, संदेश बॉक्स की उपस्थिति को साबित करने के लिए पसंद के ब्राउज़र में index.html फ़ाइल खोलें।
[9 1] पीएस सी: \ उपयोगकर्ता \ Tamha \ डाउनलोड & gt; टीएससी। \ कार्यकर्ता
अब तक, टाइपस्क्रिप्ट ने एक और जटिल जावास्क्रिप्ट वातावरण के रूप में कार्य से थोड़ा अधिक किया है। अगले चरण में स्थिर टाइपिंग के लिए समर्थन को सक्रिय करना शामिल है: यह कंपाइलर को अमान्य मानों को ध्यान में रखते हुए पैरामीटर के स्थैतिक विश्लेषण करने में सक्षम बनाता है। इसके लिए, प्रकारों का एक सेट आवश्यक है - उपरोक्त तालिका में मूल प्रकार सूचीबद्ध हैं, जबकि कक्षाओं पर बाद में चर्चा की जाएगी।
टाइपस्क्रिप्ट वैरिएबल प्रकार असाइनमेंट वैरिएबल नाम के बाद रखा 'ए:' के माध्यम से होता है। आइए एक नंबर लेने के लिए हमारे ओआई फ़ंक्शन को संशोधित करें, और इसके बजाय हमें स्ट्रिंग में पास होने दें। अंत में, टीएससी कंपाइलर को एक बार फिर से स्क्रीनशॉट में दिखाए गए त्रुटि संदेश पर एक बार फिर अपनी आंखों को दावत करने के लिए आह्वान करें - आकस्मिक रूप से, विजुअल स्टूडियो, आकस्मिक रूप से, प्रश्न में रेखा को भी उजागर करेगा।
[9 1] फ़ंक्शन Sayoi (Whattosay: Number) { अलर्ट (Whattosay); } Sayoi ("हैलो"); [9 2]जावास्क्रिप्ट प्रोटोटाइप के माध्यम से ऑब्जेक्ट-ओरिएंटेशन को लागू करता है: कोड की एक शैली जो .NET और C / C ++ दुनिया में असामान्य है। टाइपस्क्रिप्ट इस समस्या को हल करता है ताकि कक्षाओं के निर्माण की अनुमति देकर - इस चरण के साथ स्निपेट में दिखाए गए एक प्रक्रिया।
[9 1] कक्षा कल्पना { सार्वजनिक MyResult: संख्या; सार्वजनिक MYA: संख्या; सार्वजनिक myb: संख्या; कन्स्ट्रक्टर (_A: संख्या, _B: संख्या) { this.myresult = _a + _b; this.mya = _a; } } [9 2]
आम तौर पर, सार्वजनिक विशेषता का उपयोग यह घोषित करने के लिए किया जाता है कि किसी कार्यक्रम का एक तत्व बाहर से सुलभ होना है। जब एक कन्स्ट्रक्टर पैरामीटर के रूप में उपयोग किया जाता है, तो यह उसी नाम के साथ स्थानीय क्षेत्रों को बनाने के लिए टाइपस्क्रिप्ट कंपाइलर को निर्देश देता है।
[9 1] कक्षा कल्पना { सार्वजनिक MyResult: संख्या; // सार्वजनिक MYA: संख्या; कन्स्ट्रक्टर (सार्वजनिक MYA: संख्या, सार्वजनिक _B: संख्या) { this.myresult = mya + _b; this.mya = mya; } } [9 2]आइए हम इसे एक विधि के साथ प्रदान करके हमारी उदाहरण वर्ग का विस्तार करें जो MyResult और MYA में संग्रहीत मानों को एक्सेस करता है, और उन्हें स्क्रीन पर आउटपुट करता है। अंत में, नए पैरामीटर का उपयोग कक्षा का उदाहरण बनाने के लिए किया जाता है - इसका उपयोग विधि को आमंत्रित करने के लिए किया जाता है।
टाइपस्क्रिप्ट की भाषा डिजाइन का उद्देश्य डेवलपर्स को जितना संभव हो उतना प्रयास करने के लिए किया जाता है। एक अच्छी सुविधा दिखाए गए शॉर्टकट का उपयोग करके बनाए गए पैरामीटर की ऑटो-जनसंख्या है।
[9 1] कक्षा कल्पना { सार्वजनिक MyResult: संख्या; कन्स्ट्रक्टर (सार्वजनिक माया: संख्या, सार्वजनिक myb: संख्या) { tyresult = mya + myb; } सार्वजनिक कहते हैं (): शून्य { चेतावनी (this.mya + "" + यह .yb); } } [9 2]
ऑब्जेक्ट उन्मुख प्रोग्रामिंग के मूल सिद्धांतों में से एक में एक दूसरे के शीर्ष पर कक्षाओं को बेसिंग करना शामिल है। व्युत्पन्न कक्षाएं तब अपने बेस क्लास की सामग्री को ओवरराइड कर सकती हैं, जिससे लचीला समायोज्य वर्ग पदानुक्रम हो सकता है।
[9 1] कक्षा भविष्य कल्पना की जाती है { सार्वजनिक कहते हैं (): शून्य { console.log (this.mya); } } [9 2]ऊपर से कोड स्निपेट ने भविष्य में एक उप-तत्व के साथ कल्पना वर्ग को विस्तारित किया। भविष्य कल्पना से अलग है कि इसकी कहने की विधि, अधिक विकसित होने पर, ब्राउज़र की कमांड लाइन में एक संदेश उत्सर्जित करता है।
[9 1] MyImagine चलो: कल्पना = नया भविष्य (2, 2); myimagine.saysometing (); MyFuture को दें: भविष्य = नया भविष्य (9, 9); myfuture.saysomething (); [9 2]इसके साथ, वास्तविक कोड का परीक्षण किया जा सकता है। दौड़ते समय, ब्राउज़र कंसोल में भविष्य के दो आमंत्रण होंगे - उन्नत वर्ग एक कल्पना वस्तु के रूप में लागू होने पर भी अपनी गुण रखता है।
सार्वजनिक संशोधक के साथ सदस्य चर को उजागर करना अलोकप्रिय है: यह सब के बाद, उपयोगकर्ता चर के सामग्रियों के साथ क्या करता है इसका अधिकतर नियंत्रण लेता है। टाइपस्क्रिप्ट एक्सेसोर आपको पारंपरिक ओओपी के समान फैशन में इस समस्या के आसपास काम करने की अनुमति देता है। ध्यान रखें कि केवल पढ़ने वाले सदस्यों का भी समर्थन किया जाता है, लेकिन इस सुविधा के उपयोग के लिए ईसीएमएएस्क्रिप्ट 5 समर्थन की सक्रियता की आवश्यकता होती है।
[9 1] सार्वजनिक _mycache: स्ट्रिंग; पूर्ण कैश प्राप्त करें (): स्ट्रिंग { इसे वापस करें ._mycache; } फुलकैच सेट करें (न्यूक्स: स्ट्रिंग) { अगर (newx == "हैलो") { this_mycache = newx; } अन्य { Console.log ("गलत डेटा!"); } } [9 2]जटिल विरासत पदानुक्रम बनाने की क्षमता डेवलपर्स को अमूर्त कक्षाओं में अपनी किस्मत आजमाने के लिए प्रेरित करेगी। टाइपस्क्रिप्ट ने आपको उस संबंध में भी कवर किया है - इस चरण के साथ उदाहरण एक सार और वास्तविक सदस्य के साथ एक वर्ग बनाता है। अमूर्त वर्ग को तत्काल करने की कोशिश करना सीधे एक कंपाइलर त्रुटि की ओर जाता है।
[9 1] सार वर्ग कल्पना { सार्वजनिक MyResult: संख्या; सार सारनाम (): शून्य; कन्स्ट्रक्टर (सार्वजनिक MYA: संख्या, सार्वजनिक myb: संख्या) { tyresult = mya + myb; } सार्वजनिक कहते हैं (): शून्य { चेतावनी (this.mya + "" + यह .yb); } } कक्षा भविष्य कल्पना { । । । सार्वजनिक adname () { Console.log ("हैलो"); } } [9 2]चूंकि ऑब्जेक्ट संरचनाएं अधिक जटिल हो जाती हैं, डेवलपर्स अक्सर उन परिस्थितियों का सामना करते हैं जहां एक वर्ग तर्क के कई बिट्स लागू करता है। उस स्थिति में, एक इंटरफ़ेस एक अच्छा कामकाज बनाता है - उदाहरण दिखाता है कि क्या उम्मीद करनी है।
[9 1] इंटरफ़ेस Datainterface { फ़ील्ड: संख्या; वर्कमथोड (): शून्य; } [9 2]जैसा कि ऊपर कक्षा के मामले में, एक इंटरफ़ेस हमें अच्छा नहीं करता है अगर हम इसका उपयोग नहीं कर सकते हैं। सौभाग्य से, इसे लागू करना विशेष रूप से मुश्किल नहीं है: ध्यान रखें कि इंटरफ़ेस लेखक, इसके अलावा, अपने सृजन के हिस्सों को वैकल्पिक होने की घोषणा कर सकते हैं।
[9 1] कक्षा कार्यकर्ता डाटाक्टरफेस लागू करता है { फ़ील्ड: संख्या; वर्कमथोड (): शून्य { नई त्रुटि फेंकें ("विधि लागू नहीं की गई।"); } } [9 2]टाइपस्क्रिप्ट कंपाइलर सख्त परिवर्तनीय वैधता जांच लागू करता है। स्टोरेज क्लास पर काम करते समय, जेनेरिक आपको अंतिम उपयोगकर्ता को प्रकार को संभालने के लिए निर्धारित करने की अनुमति देता है। इसके अलावा, टाइपस्क्रिप्ट दस्तावेज़ों से लिया गया (ट्यूट्रोलॉजिकल) स्निपेट में दिखाए गए कार्यों जैसे अन्य सामान्य तत्वों को भी अनुमति देता है।
[9 1] // जेनेरिक समारोह समारोह पहचान (arg: संख्या): संख्या { वापसी आर्ग; } // जेनेरिक वर्ग कक्षा जेनेरिकनंबर और लेफ्टिनेंट; टी एंड जीटी; { Zerovalue: टी; जोड़ें: (x: t, y: t) = & gt; टी; } [9 2]राज्य मशीनों और इसी तरह के तत्व कुछ अच्छी तरह से परिभाषित राज्यों को संग्रहीत करने के लिए एक चर को प्रतिबंधित करने का एक तरीका रखने से लाभान्वित होते हैं। यह एनम डेटा प्रकार का उपयोग करके पूरा किया जा सकता है:
[9 1] enum parserstate { निष्क्रिय = 1, Read0, रीड 1 } कक्षा कल्पना { सार्वजनिक रहस्य: पार्सस्टेट; कन्स्ट्रक्टर (सार्वजनिक माया: संख्या, सार्वजनिक myb: संख्या) { this.mystate = parserstate.idle; [9 2]
एक ही लेख में टाइपस्क्रिप्ट के रूप में जटिल भाषा को कवर करना लगभग असंभव है। की ओर देखने के लिए टाइपस्क्रिप्ट साइट के उदाहरण भाषा के बाइंडिंग के बारे में और जानने के लिए।
यह लेख मूल रूप से अंक 266 में प्रकाशित किया गया था वेब डिजाइनर , रचनात्मक वेब डिजाइन पत्रिका - विशेषज्ञ ट्यूटोरियल, अत्याधुनिक रुझान और मुक्त संसाधनों की पेशकश। यहां अंक 266 खरीदें या [2 9 4] वेब डिजाइनर की सदस्यता लें
।विशेष क्रिसमस प्रस्ताव: वेब डिजाइनर की सदस्यता पर 49% तक बचाएं आपके लिए या क्रिसमस के लिए एक दोस्त। यह एक सीमित प्रस्ताव है, तो जल्दी से आगे बढ़ें ...
संबंधित आलेख:
(छवि क्रेडिट: Pexels पर आंद्रे Furtado) [1 9] एक साधारण वे..
(छवि क्रेडिट: Google) [1 9] Google स्लाइड अधिक से अधिक लो�..
दिन-दर-रात रूपांतरण तब तक आसपास रहे हैं जब तक फ़ोट�..
इस ट्यूटोरियल में हम आपको दुनिया भर के लोगों के ल�..
एक उदाहरण में दोहराए जाने वाले डिज़ाइन और पैटर्न ..
रंगीन पेंसिल को मिश्रित करने का तरीका सीखना आपको अपने उपकरण से अधिक प्रा�..
सबसे अच्छा शहर एक व्यस्त शहर है, लेकिन वह व्यस्त व�..
निम्नलिखित युक्तियाँ एरिक मिलर एनीमेशन स्टूडियो की आगामी वेब श्रृंखला �..