
سلام دوستان
وقتتون بخیر و امیدوارم حالتون خوب باشه
امروز یه ویژگیای از تایپاسکریپت خوندم که برام جالب بود و اون هم Function overloading هست.
حالا Function Overloading برای ما چیکار میکنه؟ Function Overloading به ما این امکان رو میده که بیایم بین type پارامترهای تابعمون و type خروجی تابعمون ارتباط برقرار کنیم.
حالا این یعنی چی؟
فرض کنید دو تا تابع با نامهای addNumbers و addStrings داریم. تابع اول میاد دو تا عدد رو جمع میکنه و تابع دوم میاد دو تا استرینگ رو جمع میکنه:

همونطوری که میبینیم اصل کاری که این دو تا تابع برای ما میکنن یکیه. پس میتونیم از union type استفاده کنیم و این دو تا تابع رو به این تابع تبدیل کنیم:

اما با اینکه از union type استفاده کردیم بازم ارتباطی بین type ورودیها و type خروجی نمیبینیم
اینجاست که باید بیایم از Function overloading استفاده کنیم و خیلی ساده مینویسیم:

حالا اگه type ورودی های ما عدد بودن، type خروجی هم عدده و اگه type ورودیهای ما استرینگ بودن، type خروجی هم استرینگه
تموم
امیدوارم این مقاله براتون مفید بوده باشه :)
منبع: https://www.typescripttutorial.net/typescript-tutorial/typescript-function-overloadings