Overload Functions - bu bir xil nom bilan bir nechta funksiya ta'riflanishi. Bu funksiyalar parametrlarining soni va/yoki turlari bilan farq qilishi kerak.Masalan, quyidagi
add funksiyasini overload qilish mumkin:function add(a: number, b: number): number;
function add(a: string, b: string): string;
function add(a: any, b: any): any {
return a + b;
}
const sum = add(1, 2) // number
const result = add('Hello', 'World') // string
Yuqoridagi misolda add funksiyasining ikkita overload varianti mavjud:
1.
add(a: number, b: number): number - ikkita number turli parametrlarni qabul qiladi va number qaytaradi.2.
add(a: string, b: string): string - ikkita string turli parametrlarni qabul qiladi va string qaytaradi.Overload functionsdan quyidagi use caselarda foydalansa bo'ladi:
1. Bir xil nomli, lekin turli xil ishlovchi funksiyalarni yaratish.
2. Funksiyaning turli xil versiyalarini yaratish.
3. Funksiya parametrlarining turini (tipini) aniq bilish.
React'dagi
useState ga qarasak ham overload functionsni ko'rish mumkin:function useState<S>(initialState: S | (() => S)): [S, Dispatch<SetStateAction<S>>];
function useState<S = undefined>(): [S | undefined, Dispatch<SetStateAction<S | undefined>>];
#typescript #overload_functions
@elyor_dev