முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 3 · பாடம் 1 இன் 2பாடத்திட்டத்தில் 5/14~12 min
தொகுதி பாடங்கள் (1/2)

தட்டச்சு செய்த செயல்பாடுகள்

செயல்பாடுகள் எந்த ஜாவாஸ்கிரிப்ட் பயன்பாட்டின் அடிப்படை கட்டுமான தொகுதிகள். டைப்ஸ்கிரிப்டில், உள்ளீட்டு வாதங்கள் மற்றும் மதிப்புகள் இரண்டையும் துல்லியமாக சிறுகுறிப்பு செய்யலாம், இதனால் எங்கள் இடைமுகங்கள் மற்றும் செயல்பாடு அழைப்புகள் மிகவும் பாதுகாப்பானதாகவும் சுய ஆவணப்படுத்துதலாகவும் இருக்கும்.


விருப்ப மற்றும் இயல்புநிலை அளவுருக்கள்

JavaScript இல், ஒவ்வொரு அளவுருவும் விருப்பமானது மற்றும் தவிர்க்கப்பட்டால் undefined க்கு இயல்புநிலையாக இருக்கும். டைப்ஸ்கிரிப்ட்டில், முன்னிருப்பாக, அறிவிக்கப்பட்ட ஒவ்வொரு அளவுருவும் கட்டாயமாகும்.

இருப்பினும், கேள்விக்குறியை (?) பயன்படுத்தி விருப்ப அளவுருக்களை நாம் வரையறுக்கலாம் அல்லது செயல்பாட்டு கையொப்பத்தில் நேரடியாக இயல்புநிலை மதிப்புகளைக் குறிப்பிடலாம்.

1. விருப்ப அளவுருக்கள்

அனைத்து கட்டாய அளவுருக்களுக்கும் பின் விருப்ப அளவுருக்கள் நிலைநிறுத்தப்பட வேண்டும்:

TS
function greetUser(name: string, title?: string): string {
  if (title) {
    return `Good morning ${title} ${name}`;
  }
  return `Hello ${name}`;
}

2. இயல்புநிலை அளவுருக்கள்

இயல்புநிலை மதிப்பைக் கொண்ட அளவுருவுக்கு மதிப்பு வழங்கப்படவில்லை எனில், டைப்ஸ்கிரிப்ட் அதன் வகையை ஊகித்து, குறிப்பிட்ட இயல்புநிலையை ஒதுக்குகிறது:

TS
function greetUserWithDefault(name: string, prefix: string = 'Hello'): string {
  return `${prefix} ${name}`;
}

ஓய்வு அளவுருக்கள் (...args)

மாறி எண்ணிக்கையிலான வாதங்களை நாம் ஏற்க விரும்பினால், நாம் ஓய்வு ஆபரேட்டரைப் பயன்படுத்தலாம். டைப்ஸ்கிரிப்ட்டில், இந்த அளவுருக்கள் அணிவரிசையாக தட்டச்சு செய்யப்பட வேண்டும்:

TS
function sumAll(message: string, ...numbers: number[]): string {
  const total = numbers.reduce((sum, n) => sum + n, 0);
  return `${message} ${total}`;
}

செயல்பாட்டு வகைகள் (அழைப்பு கையொப்பங்கள்)

ஒரு செயல்பாட்டின் வகையை நாம் சுயாதீனமாக வரையறுத்து, அதை மாறி அறிவிப்புகள் அல்லது கால்பேக் வாதங்களில் மீண்டும் பயன்படுத்தலாம்:

TS
// 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: விருப்ப அளவுருக்கள்

உடற்பயிற்சி#ts.m3.l1.e1
முயற்சிகள்: 0ஏற்றுகிறது…

ஃபர்மட் நேம் அளவுரு (சரம்) மற்றும் விருப்பமான கடைசி பெயர் அளவுரு (சரம்) ஆகியவற்றை ஏற்கும் formatName என்ற செயல்பாட்டை உருவாக்கவும். கடைசிப்பெயர் வழங்கப்பட்டிருந்தால், 'firstName lastName' என்பதைத் தரவும், இல்லையெனில் 'firstName' என்பதை மட்டும் வழங்கவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

கடைசிப் பெயரைப் பயன்படுத்தி விருப்ப அளவுரு அறிவிக்கப்பட்டது என்பதை நினைவில் கொள்க?: கட்டாயத்திற்குப் பிறகு சரம்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

பயிற்சி 2: இயல்புநிலை அளவுருக்கள்

உடற்பயிற்சி#ts.m3.l1.e2
முயற்சிகள்: 0ஏற்றுகிறது…

ஒரு அடிப்படை (எண்) மற்றும் ஒரு அடுக்கு (இயல்புநிலை மதிப்பு 2 கொண்ட எண்) ஆகியவற்றை ஏற்கும் சக்தி என்ற செயல்பாட்டை உருவாக்கவும். செயல்பாட்டானது, அடுக்குக்கு உயர்த்தப்பட்ட அடித்தளத்தின் மதிப்பைக் கணக்கிட்டுத் தர வேண்டும் (Math.pow ஐப் பயன்படுத்தவும்).

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

செயல் கையொப்பத்திற்குள் அடிப்படை: எண் மற்றும் அடுக்கு: எண் = 2 ஐப் பயன்படுத்தவும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

பயிற்சி 3: செயல்பாட்டு கையொப்பம்

உடற்பயிற்சி#ts.m3.l1.e3
முயற்சிகள்: 0ஏற்றுகிறது…

இரண்டு எண் அளவுருக்களை ஏற்று ஒரு எண்ணை வழங்கும் செயல்பாட்டை விவரிக்கும் BinaryOp என்ற வகை மாற்றுப்பெயரை வரையறுக்கவும். அடுத்து, கூட்டலைச் செயல்படுத்தும் வகை BinaryOp இன் நிலையான பெயரிடப்பட்ட தொகையை அறிவிக்கவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

ஒரு செயல்பாட்டு வகைக்கான தொடரியல் (a: number, b: number) => number.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

பயிற்சி 4: திரும்ப திரும்பும் செயல்பாடு

உடற்பயிற்சி#ts.m3.l1.e4
முயற்சிகள்: 0ஏற்றுகிறது…

இரண்டு அளவுருக்களை ஏற்கும் processItems என்ற செயல்பாட்டை உருவாக்கவும்: உருப்படிகள் (சரங்களின் வரிசை) மற்றும் கால்பேக் (ஒற்றை சரத்தை ஏற்றுக்கொண்டு எதையும் திரும்பப் பெறாத செயல்பாடு, அதாவது வெற்றிடமானது). செயல்பாடானது உருப்படிகளில் உள்ள ஒவ்வொரு உறுப்பின் மீதும் லூப் ஒன்றை இயக்க வேண்டும் மற்றும் அதை திரும்ப அழைப்பிற்கு அனுப்ப வேண்டும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

கையொப்பத்தை processItems என அறிவிக்கவும்(உருப்படிகள்: string[], callback: (item: string) => void): void மற்றும் கால்பேக்கை அழைக்க லூப்பைப் பயன்படுத்தவும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்