TypeScript Flashcards

1
Q

Перегрузка функции (Function overload)

A

Это возможность определить несколько вариантов сигнатур одной функции с разными типами параметров, чтобы обеспечить более точную типизацию и поведение функции в зависимости от переданных аргументов.

Overload Signatures:
type MakeDate = {
(timestamp: number): Date;
(m: number, d: number, y: number): Date;
};

Implementation Signature:
const makeDate:MakeDate = function (mOrTimestamp: number, d?: number, y?: number): Date {
if (d !== undefined && y !== undefined) {
return new Date(y, mOrTimestamp, d);
} else {
return new Date(mOrTimestamp);
}
};

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Дженерики

A

Это механизм, позволяющий создавать обобщенные типы и функции, которые могут работать с различными типами данных, обеспечивая безопасность типов и повторное использование кода.

type PaymentInfo<T> = { // T — параметр дженерика
id: string;
amount: number;
currency: T; // «настраиваем» тип поля currency
}</T>

const paymentInfo: PaymentInfo<string> = // …</string>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly