𝗜𝗻𝘁𝗿𝗼𝗱𝘂𝗰𝘁𝗶𝗼𝗻 𝘁𝗼 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻 𝗧𝘆𝗽𝗲𝘀

TypeScript లో ప్రతిదానికీ టైప్స్ (types) అవసరం. ఇందులో మీ ఫంక్షన్లు కూడా ఉంటాయి. మీరు ఇన్‌పుట్‌లు (inputs) మరియు అవుట్‌పుట్‌ల (outputs) కోసం టైప్స్‌ను తప్పనిసరిగా నిర్వచించాలి.

Function Syntax

మీరు ఇన్‌పుట్ టైప్స్ మరియు అవుట్‌పుట్ టైప్‌ను ఈ విధంగా నిర్వచించవచ్చు:

function add(x: number, y: number): number { return x + y; }

TypeScript 'type inference'ను కూడా ఉపయోగిస్తుంది. మీరు ఎల్లప్పుడూ అవుట్‌పుట్ టైప్‌ను వ్రాయనవసరం లేదు. కంపైలర్ దానిని మీ కోసం కనుగొంటుంది.

మీ ఫంక్షన్ వేర్వేరు టైప్స్‌ను రిటర్న్ చేస్తే, TypeScript దానిని హ్యాండిల్ చేస్తుంది. ఉదాహరణకు, ఒక ఫంక్షన్ number లేదా string రిటర్న్ చేస్తే, కంపైలర్ రెండింటినీ గుర్తిస్తుంది.

Special Return Types

  • void: ఒక ఫంక్షన్ ఏమీ రిటర్న్ చేయనప్పుడు దీనిని ఉపయోగించండి.
  • never: ఒక ఫంక్షన్ ఎర్రర్‌ను త్రో (throw) చేసినప్పుడు లేదా ప్రోగ్రామ్‌ను ఆపివేసినప్పుడు దీనిని ఉపయోగించండి.

Parameters

మీరు ప్రశ్న గుర్తు (?) ఉపయోగించి పారామీటర్లను ఆప్షనల్ (optional) చేయవచ్చు.

function makeProfile(name: string, age: number, url?: string) { // code }

మీరు డిఫాల్ట్ వాల్యూస్‌ను (default values) కూడా ఉపయోగించవచ్చు. ఇది ప్రత్యేక చిహ్నాలు లేకుండానే ఒక పారామీటర్‌ను ఆప్షనల్‌గా మారుస్తుంది.

function makeProfile(name: string, age: number, url: string = "www.example.com") { return name + " visits " + url; }

Callback Functions

ఫంక్షన్లు విలువలు (values). మీరు వాటిని ఆర్గ్యుమెంట్స్‌గా (arguments) పంపవచ్చు. ఒక callback టైప్‌ను నిర్వచించడానికి, ఈ సింటాక్స్‌ను ఉపయోగించండి:

function makePage(func: (n: string, a: number, u?: string) => string, param1: string, param2: number) { func(param1, param2); }

callback లోని పారామీటర్ల పేర్లు ముఖ్యం కాదు. కేవలం వాటి టైప్స్ మాత్రమే ముఖ్యం.

Arrays of Functions

మీకు ఫంక్షన్ల జాబితా కావాలంటే, వాటిని ఆ ఫంక్షన్ టైప్ యొక్క అర్రే (array) గా నిర్వచించండి.

function applyMath(funcs: ((a: number, b: number) => number)[], x: number, y: number) { // code }

Rest Parameters

ఎన్ని ఆర్గ్యుమెంట్లనైనా స్వీకరించడానికి spread operatorను ఉపయోగించండి. ఇది అన్ని ఇన్‌పుట్‌లను ఒక అర్రేలో నిక్షిప్తం చేస్తుంది.

function sum(...numbers: number[]) { // code }

sum(1, 2, 3);

Source: https://dev.to/jsha/introduction-to-typescript-function-types-hin