𝗜𝗻𝘁𝗿𝗼𝗱𝘂𝗰𝘁𝗶𝗼𝗻 𝘁𝗼 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻 𝗧𝘆𝗽𝗲𝘀 ಪರಿಚಯ

TypeScript ನಲ್ಲಿ ಪ್ರತಿಯೊಂದಕ್ಕೂ ಟೈಪ್‌ಗಳ (types) ಅಗತ್ಯವಿದೆ. ಇದು ನಿಮ್ಮ ಫಂಕ್ಷನ್‌ಗಳನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ. ನೀವು ಇನ್‌ಪುಟ್‌ಗಳು (inputs) ಮತ್ತು ಔಟ್‌ಪುಟ್‌ಗಳಿಗಾಗಿ (outputs) ಟೈಪ್‌ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬೇಕು.

ಫಂಕ್ಷನ್ ಸಿಂಟ್ಯಾಕ್ಸ್ (Function Syntax)

ನೀವು ಇನ್‌ಪುಟ್ ಟೈಪ್‌ಗಳು ಮತ್ತು ಔಟ್‌ಪುಟ್ ಟೈಪ್ ಅನ್ನು ಈ ರೀತಿ ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು:

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

TypeScript 'type inference' ಅನ್ನು ಸಹ ಬಳಸುತ್ತದೆ. ನೀವು ಯಾವಾಗಲೂ ಔಟ್‌ಪುಟ್ ಟೈಪ್ ಅನ್ನು ಬರೆಯಬೇಕಾಗಿಲ್ಲ. ಕಂಪೈಲರ್ ಅದನ್ನು ನಿಮಗಾಗಿ ಹುಡುಕುತ್ತದೆ.

ನಿಮ್ಮ ಫಂಕ್ಷನ್ ವಿಭಿನ್ನ ಟೈಪ್‌ಗಳನ್ನು ರಿಟರ್ನ್ ಮಾಡಿದರೆ, TypeScript ಅದನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಒಂದು ಫಂಕ್ಷನ್ ನಂಬರ್ ಅಥವಾ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ರಿಟರ್ನ್ ಮಾಡಿದರೆ, ಕಂಪೈಲರ್ ಎರಡನ್ನೂ ಪತ್ತೆಹಚ್ಚುತ್ತದೆ.

ವಿಶೇಷ ರಿಟರ್ನ್ ಟೈಪ್‌ಗಳು (Special Return Types)

  • void: ಫಂಕ್ಷನ್ ಏನನ್ನೂ ರಿಟರ್ನ್ ಮಾಡದಿದ್ದಾಗ ಇದನ್ನು ಬಳಸಿ.
  • never: ಫಂಕ್ಷನ್ ಎರ್ರರ್ (error) ಎಸೆಯುವಾಗ ಅಥವಾ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ನಿಲ್ಲಿಸುವಾಗ ಇದನ್ನು ಬಳಸಿ.

ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು (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)

ಫಂಕ್ಷನ್‌ಗಳು ವ್ಯಾಲ್ಯೂಗಳಾಗಿವೆ. ನೀವು ಅವುಗಳನ್ನು ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳಾಗಿ (arguments) ವರ್ಗಾಯಿಸಬಹುದು. ಕರಲ್‌ಬ್ಯಾಕ್ ಟೈಪ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು, ಈ ಸಿಂಟ್ಯಾಕ್ಸ್ ಬಳಸಿ:

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

ಕರಲ್‌ಬ್ಯಾಕ್‌ನಲ್ಲಿರುವ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳ ಹೆಸರುಗಳು ಮುಖ್ಯವಲ್ಲ. ಕೇವಲ ಟೈಪ್‌ಗಳು ಮಾತ್ರ ಮುಖ್ಯವಾಗುತ್ತವೆ.

ಫಂಕ್ಷನ್‌ಗಳ ಅರೇಗಳು (Arrays of Functions)

ನಿಮಗೆ ಫಂಕ್ಷನ್‌ಗಳ ಪಟ್ಟಿ ಬೇಕಾದಲ್ಲಿ, ಅವುಗಳನ್ನು ಆ ಫಂಕ್ಷನ್ ಟೈಪ್‌ನ ಅರೇ ಆಗಿ ವ್ಯಾಖ್ಯಾನಿಸಿ.

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);

ಮೂಲ: https://dev.to/jsha/introduction-to-typescript-function-types-hin