June 2

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()}`; } }