18

मैं टाइपस्क्रिप्ट के बारे में बहुत उत्साहित हूं। आप फ़ंक्शन पैरामीटर के प्रकार को कैसे सेट करते हैं?टाइपस्क्रिप्ट - उच्च ऑर्डर फ़ंक्शन प्रकार

function twoMoreThanYou(calculateANumber: Function):number { 
    return calculateANumber(4) + 2; 
} 

function double(n:number):number { 
    return n*2; 
} 

console.log("TWO MORE", twoMoreThanYou(double)) 

मैं calculateANumber को बेहतर कैसे टाइप कर सकता हूं? मैं यह निर्दिष्ट करना चाहता हूं कि यह एक ऐसा कार्य होना चाहिए जो एक संख्या लेता है और एक संख्या देता है।

क्या मैं फिर उस प्रकार के लिए "इंटरफेस" या कुछ शॉर्टेंड बना सकता हूं ताकि मैं अपना उच्च ऑर्डर फ़ंक्शन हस्ताक्षर अधिक पठनीय कर सकूं?

उत्तर

25

ये दोनों काम

interface NumberFunction extends Function { 
    (n:number):number; 
} 

function twoMoreThanYou(calculateANumber: (n:number)=>number):number { 
    ... 
} 

function twoMoreThanYou(calculateANumber: NumberFunction):number { 
    ... 
} 
+7

आप '' NumberFunction' इंटरफेस के साथ twoMoreThanYou' समारोह के लिए वापसी प्रकार निर्दिष्ट करने के लिए नहीं है। अनुमान टाइप करें! – asawyer

+4

ओएमजी मुझे पहले से ही टाइपस्क्रिप्ट पसंद है। –

संबंधित मुद्दे