بررسی سربارگذاری توابع (Function Overloading) در TypeScript

بررسی سربارگذاری توابع (Function Overloading) در TypeScript

در این پست از وبسایت پرووید در رابطه با بررسی سربارگذاری توابع (Function Overloading) در TypeScript صحبت خواهیم کرد. زبان TypeScript یک زبان شی گرا و Open-source می باشد که توسط مایکروسافت توسعه داده و نگهداری میشود.

در این قسمت از سری آموزشی زبان برنامه نویسی TypeScript از وب سایت پرووید در رابطه با Function Overloading در زبان TypeScript صحبت می کنیم. مفهوم Function Overloading در بسیاری از زبان های برنامه نویسی وجود دارد. با استفاده از Function Overloading می توانید توابعی را تعریف کنید که هم نام هستند اما پارامترهای ورودی آن ها از نوع های داده ای مختلف است و همچنین چیزی را که به عنوان خروجی Return می کنند، از نوع های داده ای مختلف می باشد. البته تعداد پارامترهای ورودی باید به یک اندازه باشد. با این روش می توانیم Overload های مختلفی از یک Function تعریف کنیم.

بسته ی آموزش ویدئویی شروع به کار با TypeScript

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی شروع به کار با TypeScript دیدن کنید.

کدی که در قسمت زیر مشاهده می کنید، یک تابع به نام add() را نشان می دهد که به دو صورت مختلف تعریف شده است.

function add(a:string, b:string):string;

function add(a:number, b:number): number;

function add(a: any, b:any): any {
    return a + b;
}

add("Hello ", "Steve"); // returns "Hello Steve" 
add(10, 20); // returns 30 

اولین Overload این تابع دو پارامتر ورودی دارد که هر دو از نوع داده ای String می باشند، اما Overload دوم آن دو پارامتر ورودی دارد که هر دو از نوع Number می باشد. دقت کنید که در تعریف Overload ها نام توابع باید یکسان باشد، اما نوع های داده ای پارامترها و نوع داده ای بازگشت داده شده از تابع می توانند متفاوت باشند، ضمناً تعداد پارامترها نیز باید یکی باشند. آخرین Overload مربوط به توابعی که Overload می شوند، باید دارای بدنه مورد نظر ما باشند، همان طور که درکد بالا مشاهده می کنید، آخرین Overload بدنه را در درون خود جای داده است.

بسته ی آموزش ویدئویی آموزش عمیق TypeScript

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی آموزش عمیق TypeScript دیدن کنید.

از آن جا که نوع داده ای پارامترها هم می تواند Number باشد هم String، از نوع داده ای Any در Overload سوم استفاده شده است. در قسمت های قبلی گفتیم که علاوه بر این که کلمه Any در زبان انگلیسی به معنای هر چیزی می باشد، نوع داده ای Any در زبان TypeScript می تواند هر چیزی را در درون خود قرار دهد.

در زبان برنامه نویسی TypeScript مکانیزم Function Overloading با تعداد پارامترهای مختلف قابل پیاده سازی نیست. کدی که در قسمت زیر مشاهده می کنید، باعث ایجاد یک خطا در زمان کامپایل می شود.

function display(a:string, b:string):void //Compiler Error: Duplicate function implementation
{
    console.log(a + b);
}

function display(a:number): void //Compiler Error: Duplicate function implementation
{
    console.log(a);
}

بسته ی آموزش ویدئویی آموزش پیشرفته TypeScript

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی آموزش پیشرفته TypeScript دیدن کنید.

پس در رابطه با Function Overloading فراموش نکنید که تمامی توابع باید با یک الگوی یکسان تعریف بشوند، البته نوع داده ای پارامترها و همچنین نوع داده ای بازگشتی توابع می توانند متفاوت باشند. همچنین آخرین Overload از یک تابع باید دارای بدنه ای باشد که بتواند توسط تمامی Overload های دیگر مورد استفاده قرار بگیرد.

امیدواریم که این آموزش از وبسایت پرووید نیز مورد توجه تمامی دوستان عزیز قرار گرفته باشد. از شما دعوت می‌کنیم که از دیگر آموزش های ما در رابطه با زبان TypeScript استفاده کنید. لیست کامل این آموزش ها را می توانید در پست مربوط به آموزش کامل زبان تایپ اسکریپت TypeScript مشاهده کنید.

مرتضی گیتی
بدون نظر

ارسال نظر

نظر
نام
ایمیل
وب سایت