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

TypeScript मध्ये प्रत्येक गोष्टीसाठी types आवश्यक असतात. यामध्ये तुमच्या फंक्शन्सचाही समावेश होतो. तुम्हाला इनपुट (inputs) आणि आउटपुट (outputs) साठी types परिभाषित करावे लागतात.

Function Syntax

तुम्ही इनपुट types आणि आउटपुट type खालीलप्रमाणे परिभाषित करू शकता:

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

TypeScript 'type inference' चा देखील वापर करते. तुम्हाला नेहमी आउटपुट type लिहिण्याची गरज नसते. कंपायलर (compiler) तो तुमच्यासाठी शोधतो.

जर तुमचे फंक्शन वेगवेगळ्या types रिटर्न करत असेल, तर TypeScript ते हाताळते. उदाहरणार्थ, जर एखादे फंक्शन number किंवा string रिटर्न करत असेल, तर कंपायलर दोन्ही शोधतो.

Special Return Types

  • void: जेव्हा फंक्शन काहीही रिटर्न करत नाही, तेव्हा याचा वापर करा.
  • never: जेव्हा एखादे फंक्शन एरर (error) थ्रो करते किंवा प्रोग्राम थांबवते, तेव्हा याचा वापर करा.

Parameters

तुम्ही प्रश्नचिन्हाचा (?) वापर करून parameters ऐच्छिक (optional) बनवू शकता.

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

तुम्ही डिफॉल्ट व्हॅल्यूजचा (default values) देखील वापर करू शकता. यामुळे विशेष चिन्हांशिवाय एखादा parameter ऐच्छिक बनतो.

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

Callback 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

जर तुम्हाला फंक्शन्सची यादी हवी असेल, तर त्यांना त्या function type च्या array म्हणून परिभाषित करा.

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

Rest Parameters

कितीही आर्ग्युमेंट्स स्वीकारण्यासाठी spread operator चा वापर करा. हे सर्व इनपुट्स एका array मध्ये साठवते.

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

sum(1, 2, 3);

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