మాడ్యూల్ పాఠాలు (1/2)
టైప్ చేసిన విధులు
ఏదైనా జావాస్క్రిప్ట్ అప్లికేషన్ యొక్క ప్రాథమిక బిల్డింగ్ బ్లాక్లు విధులు. టైప్స్క్రిప్ట్లో, మేము ఇన్పుట్ ఆర్గ్యుమెంట్లు మరియు రిటర్న్ విలువలు రెండింటినీ ఖచ్చితంగా ఉల్లేఖించగలము, మా ఇంటర్ఫేస్లు మరియు ఫంక్షన్ కాల్లను చాలా సురక్షితంగా మరియు స్వీయ-డాక్యుమెంటింగ్గా మార్చగలము.
ఐచ్ఛిక మరియు డిఫాల్ట్ పారామితులు
జావాస్క్రిప్ట్లో, ప్రతి పరామితి ఐచ్ఛికం మరియు విస్మరించబడితే undefinedకి డిఫాల్ట్ అవుతుంది. టైప్స్క్రిప్ట్లో, డిఫాల్ట్గా, ప్రతి డిక్లేర్డ్ పరామితి తప్పనిసరి.
అయినప్పటికీ, మేము ప్రశ్న గుర్తు (?) ఉపయోగించి ఐచ్ఛిక పారామితులను నిర్వచించవచ్చు లేదా ఫంక్షన్ సంతకంలో నేరుగా డిఫాల్ట్ విలువలను పేర్కొనవచ్చు.
1. ఐచ్ఛిక పారామితులు
ఐచ్ఛిక పారామితులు తప్పనిసరిగా తర్వాత అన్ని తప్పనిసరి పారామితులను ఉంచాలి:
function greetUser(name: string, title?: string): string {
if (title) {
return `Good morning ${title} ${name}`;
}
return `Hello ${name}`;
}2. డిఫాల్ట్ పారామితులు
డిఫాల్ట్ విలువతో పారామీటర్కు విలువ ఏదీ అందించబడకపోతే, టైప్స్క్రిప్ట్ దాని రకాన్ని అంచనా వేస్తుంది మరియు పేర్కొన్న డిఫాల్ట్ను కేటాయిస్తుంది:
function greetUserWithDefault(name: string, prefix: string = 'Hello'): string {
return `${prefix} ${name}`;
}విశ్రాంతి పారామితులు (...args)
మేము వేరియబుల్ ఆర్గ్యుమెంట్ల సంఖ్యను అంగీకరించాలనుకున్నప్పుడు, మేము మిగిలిన ఆపరేటర్ని ఉపయోగించవచ్చు. టైప్స్క్రిప్ట్లో, ఈ పారామితులను తప్పనిసరిగా శ్రేణిగా టైప్ చేయాలి:
function sumAll(message: string, ...numbers: number[]): string {
const total = numbers.reduce((sum, n) => sum + n, 0);
return `${message} ${total}`;
}ఫంక్షన్ రకాలు (కాల్ సంతకాలు)
మేము ఫంక్షన్ యొక్క రకాన్ని స్వతంత్రంగా నిర్వచించవచ్చు మరియు దానిని వేరియబుల్ డిక్లరేషన్లు లేదా కాల్బ్యాక్ ఆర్గ్యుమెంట్లలో మళ్లీ ఉపయోగించవచ్చు:
// Define function type using type alias
type MathOperation = (a: number, b: number) => number;
const add: MathOperation = (x, y) => x + y;
const multiply: MathOperation = (x, y) => x * y;ఇతర ఫంక్షన్లకు (కాల్బ్యాక్లు) ఆర్గ్యుమెంట్లుగా ఫంక్షన్లను పంపేటప్పుడు ఈ విధానం అవసరం.
మీరే ప్రయత్నించండి
వ్యాయామం 1: ఐచ్ఛిక పారామితులు
ఫస్ట్నేమ్ పరామితిని (స్ట్రింగ్) మరియు ఐచ్ఛిక చివరి పేరు పరామితిని (స్ట్రింగ్) ఆమోదించే ఫార్మాట్నేమ్ అనే ఫంక్షన్ను సృష్టించండి. చివరి పేరు అందించబడితే, 'firstName lastName'ని అందించండి, లేకుంటే 'firstName'ని మాత్రమే అందించండి.
సూచనను చూపించు
ఐచ్ఛిక పరామితి చివరి పేరును ఉపయోగించి ప్రకటించబడిందని గుర్తుంచుకోండి?: తప్పనిసరి తర్వాత స్ట్రింగ్.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం 2: డిఫాల్ట్ పారామితులు
బేస్ (సంఖ్య) మరియు ఘాతాంకం (డిఫాల్ట్ విలువ 2 ఉన్న సంఖ్య)ను ఆమోదించే పవర్ అనే ఫంక్షన్ను సృష్టించండి. ఫంక్షన్ తప్పనిసరిగా లెక్కించి, ఘాతాంకానికి పెంచిన బేస్ విలువను అందించాలి (Math.powని ఉపయోగించండి).
సూచనను చూపించు
ఫంక్షన్ సిగ్నేచర్లో బేస్: నంబర్ మరియు ఎక్స్పోనెంట్: నంబర్ = 2 ఉపయోగించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం 3: ఫంక్షన్ సంతకం
రెండు సంఖ్యల పారామితులను అంగీకరించి, సంఖ్యను తిరిగి ఇచ్చే ఫంక్షన్ను వివరించే BinaryOp అనే రకం అలియాస్ని నిర్వచించండి. తరువాత, అదనంగా అమలు చేసే రకం BinaryOp యొక్క స్థిరమైన పేరు గల మొత్తాన్ని ప్రకటించండి.
సూచనను చూపించు
ఫంక్షన్ రకం కోసం వాక్యనిర్మాణం (a: సంఖ్య, b: సంఖ్య) => సంఖ్య.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం 4: కాల్బ్యాక్ ఫంక్షన్
రెండు పారామితులను ఆమోదించే processItems పేరుతో ఒక ఫంక్షన్ను సృష్టించండి: అంశాలు (తీగల శ్రేణి) మరియు కాల్బ్యాక్ (ఒకే స్ట్రింగ్ను అంగీకరించి, ఏదీ తిరిగి ఇవ్వని ఫంక్షన్, అంటే శూన్యం). ఫంక్షన్ తప్పనిసరిగా ఐటెమ్లలోని ప్రతి ఎలిమెంట్పై లూప్ని అమలు చేయాలి మరియు దానిని కాల్బ్యాక్కు పంపాలి.
సూచనను చూపించు
సంతకాన్ని ప్రాసెస్ఐటెమ్లుగా ప్రకటించండి(అంశాలు: స్ట్రింగ్[], కాల్బ్యాక్: (ఐటెమ్: స్ట్రింగ్) => శూన్యం): శూన్యం మరియు కాల్బ్యాక్కి కాల్ చేయడానికి లూప్ని ఉపయోగించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది