Tyscript asoslari
Function overloading nima?
Function overloading - bitta funksiyani argumentlarning soni yoki turiga qarab turli yo'llar orqali chaqirishga imkon beradi.
Signatures
Function signature - funksiyaning input parametrlari, ularning turlari va funksiya qaytaradigan qiymat turini belgilab beradi
// Signature: (name: string, age: number) => string
function describe(name: string, age: number): string {
return `${name} is ${age} years old`;
}
Overload signature - bunda funksiya tana qismi bo'lmaydi, bu har bir funksiyaning parametrlari va qaytaruvchi qiymatini belgilab beradi.
// 1️⃣ Overload signatures (only declarations)
function doStuff(value: number): string;
function doStuff(value: string): string;
Implementation signature - funksiyaning ishga tushiruvchi qismiga aytiladi. Bu overload signature lardan keyin e'lon qilinadi.
// 2️⃣ One implementation (must cover all cases)
function doStuff(value: number | string): string {
if (typeof value = = = "number") {
return `Number: ${value}`;
} else {
return `String: ${value.toUpperCase()}`;
}
}