𝗜𝗻𝘁𝗿𝗼𝗱𝘂𝗰𝘁𝗶𝗼𝗻 𝘁𝗼 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻 𝗧𝘆𝗽𝗲𝘀
TypeScript-இல் அனைத்திற்கும் Types தேவை. இதில் உங்கள் Functions-களும் அடங்கும். நீங்கள் Inputs மற்றும் Outputs-களுக்கு Types-களை வரையறுக்க வேண்டும்.
Function Syntax
நீங்கள் Input Types மற்றும் ஒரு Output Type-ஐ இவ்வாறு வரையறுக்கலாம்:
function add(x: number, y: number): number {
return x + y;
}
TypeScript 'type inference'-ஐயும் பயன்படுத்துகிறது. நீங்கள் எப்போதும் Output Type-ஐ எழுத வேண்டிய அவசியமில்லை. Compiler அதை உங்களுக்காகக் கண்டறிந்துவிடும்.
உங்கள் Function வெவ்வேறு Types-களைத் திருப்பியளித்தால் (returns), TypeScript அதைச் சரியாகக் கையாளும். உதாரணமாக, ஒரு Function ஒரு number அல்லது ஒரு string-ஐத் திருப்பியளித்தால், Compiler இரண்டையும் கண்டறியும்.
Special Return Types
- void: ஒரு Function எதையும் திருப்பியளிக்காத போது இதைப் பயன்படுத்தவும்.
- never: ஒரு Function பிழையை (error) வீசினால் அல்லது நிரலை நிறுத்திவிட்டால் இதைப் பயன்படுத்தவும்.
Parameters
ஒரு கேள்விக்குறி (?) பயன்படுத்தி நீங்கள் Parameters-களை optional-ஆக மாற்றலாம்.
function makeProfile(name: string, age: number, url?: string) {
// code
}
நீங்கள் Default Values-களையும் பயன்படுத்தலாம். இது சிறப்பு குறியீடுகள் இல்லாமலேயே ஒரு Parameter-ஐ optional-ஆக மாற்றுகிறது.
function makeProfile(name: string, age: number, url: string = "www.example.com") {
return name + " visits " + url;
}
Callback Functions
Functions என்பவை Values. அவற்றை நீங்கள் Arguments-களாக அனுப்பலாம். ஒரு Callback Type-ஐ வரையறுக்க, இந்த Syntax-ஐப் பயன்படுத்தவும்:
function makePage(func: (n: string, a: number, u?: string) => string, param1: string, param2: number) {
func(param1, param2);
}
Callback-இல் உள்ள Parameters பெயர்கள் முக்கியமல்ல. அவற்றின் Types மட்டுமே முக்கியம்.
Arrays of Functions
உங்களுக்கு Functions-களின் பட்டியல் தேவைப்பட்டால், அவற்றை அந்த Function Type-ன் ஒரு Array-ஆக வரையறுக்கவும்.
function applyMath(funcs: ((a: number, b: number) => number)[], x: number, y: number) {
// code
}
Rest Parameters
எத்தனை Arguments-களை வேண்டுமானாலும் ஏற்க Spread Operator-ஐப் பயன்படுத்தவும். இது அனைத்து Inputs-களையும் ஒரு Array-இல் சேமிக்கும்.
function sum(...numbers: number[]) {
// code
}
sum(1, 2, 3);
Source: https://dev.to/jsha/introduction-to-typescript-function-types-hin