यहां एक उदाहरण है जो अंतर दिखाता है, जो स्पष्टीकरण में मदद करेगा।
var s1 = new String("Avoid newing things where possible");
var s2 = "A string, in TypeScript of type 'string'";
var s3: string;
String
जावास्क्रिप्ट स्ट्रिंग प्रकार है, जो आप उपयोग नए तार बनाने के लिए कर सकता है। कोई भी ऊपर new
कीवर्ड के उपयोग के बिना और स्पष्ट रूप से String
वस्तु का उपयोग किए बिना एक नया स्ट्रिंग बनाता है के रूप में जावास्क्रिप्ट में शाब्दिक बेहतर माना जाता है यह करता है, उदाहरण के में तो s2
।
string
टाइपप्रति स्ट्रिंग प्रकार है, जो आप चर, मापदंडों और वापसी मान टाइप करने के लिए उपयोग कर सकते हैं।
अतिरिक्त नोट्स ...
वर्तमान में (फरवरी 2013) s1
और s2
दोनों जावास्क्रिप्ट मान्य हैं। s3
मान्य टाइपस्क्रिप्ट है।
String
का प्रयोग। आपको शायद इसे कभी भी उपयोग करने की आवश्यकता नहीं है, स्ट्रिंग अक्षर को स्ट्रिंग शुरू करने का सही तरीका होने के रूप में सार्वभौमिक रूप से स्वीकार किया जाता है। जावास्क्रिप्ट में, यह भी वस्तु शाब्दिक और भी सरणी शाब्दिक उपयोग करने के लिए बेहतर माना जाता है:
var arr = []; // not var arr = new Array();
var obj = {}; // not var obj = new Object();
तुम सच में स्ट्रिंग के लिए एक लगन थी, तो आप दो तरीकों में से एक में टाइपप्रति में इसका इस्तेमाल कर सकते हैं ...
var str: String = new String("Hello world"); // Uses the JavaScript String object
var str: string = String("Hello World"); // Uses the TypeScript string type
थैंक्स इसे साफ़ करने के लिए। तो स्ट्रिंग मानों के साथ काम करने वाले अन्य libs का उपयोग करते समय संभावित टाइप रूपांतरण समस्याओं से बचने के लिए प्राइमेटिव प्रकार स्ट्रिंग का उपयोग करना सुरक्षित है (इस विचार के आधार पर कि कोई वास्तव में स्ट्रिंग (?) का उपयोग नहीं करता है)। स्ट्रिंग और स्ट्रिंग और उपाध्यक्ष के बीच असाइनमेंट को समान रूप से व्यवहार नहीं किया जाना चाहिए? – Paul0515
यह वास्तव में उपयोग करने के लिए सुरक्षित है क्योंकि टाइपस्क्रिप्ट प्रकार आपको 100% संगत जावास्क्रिप्ट (या तो ES3 या ES5 स्वाद में, और संस्करण 1 ES6 स्वाद में) देने के लिए अलग कर दिए जाते हैं। मैं 'स्ट्रिंग' प्रकार और एक शाब्दिक प्रारंभिकरण का उपयोग करने की अनुशंसा करता हूं: 'var s: string =" My string ";'। रिकॉर्ड के लिए – Fenton
, टाइप-इनफरेंस के लिए धन्यवाद, 'var s: string = "My String" 'var s =" My String "के समान है ... भी, इससे कोई फर्क नहीं पड़ता कि मैं इस प्रतिक्रिया को कितनी बार पढ़ता हूं, मैं मैं अभी भी टाइपस्क्रिप्ट में 'स्ट्रिंग' प्रकार के उद्देश्य को समझ नहीं रहा हूं, क्योंकि, दिन के अंत में, '(' मेरा स्ट्रिंग ') [' कन्स्ट्रक्टर '] === स्ट्रिंग' ... –