IMO, टाइपस्क्रिप्ट भाषा की मुख्य चिंताओं में से एक मौजूदा वेनिला जावास्क्रिप्ट कोड का समर्थन करना है। यह पहली नज़र में मुझे आभास है। निम्नलिखित जावास्क्रिप्ट फ़ंक्शन पर एक नज़र डालें जो पूरी तरह से मान्य है:
नोट: मैं यह नहीं कह रहा हूं कि मुझे यह तरीका पसंद है। मैं सिर्फ यह कह रहा हूं कि यह एक मान्य जावास्क्रिप्ट कोड है।
function sum(numbers) {
var agregatedNumber = 0;
for(var i = 0; i < arguments.length; i++) {
agregatedNumber += arguments[i];
}
return agregatedNumber;
}
इसलिए, हम इस फ़ंक्शन का किसी भी तर्क के साथ उपभोग करते हैं:
console.log(sum(1, 5, 10, 15, 20));
हालाँकि, जब मैं टाइपस्क्रिप्ट प्लेग्राउंड के साथ इसे आज़माता हूं , तो यह संकलन समय त्रुटियों को देता है।
मैं मान रहा हूं कि यह एक बग है। मान लेते हैं कि हमारे पास संगतता मुद्दे नहीं हैं। फिर, क्या इस तरह के कार्यों को खुले-समाप्त तर्कों के साथ लिखने का कोई तरीका है? जैसे paramsC # में फ़ीचर?
numbersपैरामीटर भी क्यों है ? आप इसके साथ कुछ नहीं कर रहे हैं।