मैं टाइप 5 के साथ ईएस 5 के tagged template literal का उपयोग करने की कोशिश कर रहा हूं लेकिन ऐसा लगता है कि टाइप स्क्रिप्ट के लिए पूर्ण समर्थन नहीं है। मेरे पास कोड का टुकड़ा है।टाइपस्क्रिप्ट: टैग की गईं टेम्पलेट लिटर्स दिखाता है त्रुटि
class TemplateLiterals {
age: number = 24;
name: 'Luke Skywalker'
private tag(strings: string[], personExp, ageExp) :string{
var str0 = strings[0]; // "that "
var str1 = strings[1]; // " is a "
var ageStr;
if (ageExp > 99) {
ageStr = 'centenarian';
} else {
ageStr = 'youngster';
}
return str0 + personExp + str1 + ageStr;
}
toString() {
return this.tag `that ${ this.name } is a ${ this.age }`;
}
}
toString
विधि में, टाइपप्रति त्रुटि निम्न मुझे दिखा रहा है।
Argument of type 'TemplateStringsArray' is not assignable to parameter of type 'string[]'.
Property 'push' is missing in type 'TemplateStringsArray'.
मुझे नहीं पता कि यह मुझे यह त्रुटि क्यों दिखा रहा है। मोज़िला के डॉक्टर के अनुसार "टैग फ़ंक्शन के पहले तर्क में स्ट्रिंग मानों की एक सरणी होती है।" तो इसे स्ट्रिंग की सरणी स्वीकार करनी चाहिए। लेकिन वास्तविक उम्मीद TemplateStringsArray
है। सुनिश्चित नहीं है कि कैसे और कब interface
TemplateSringsArray
परिभाषित किया जा रहा है। वर्तमान में मैं इस त्रुटि से बचने के लिए TemplateSringsArray
प्रकार का उपयोग कर रहा हूं। क्या कोई भी बता सकता है कि क्या हो रहा है। धन्यवाद। यहां playground है।
'वर्तमान में मैं इस त्रुटि से बचने के लिए TemplateSringsArray प्रकार का उपयोग कर रहा हूं।' –