«Общие шаблоны TS» относятся к универсальным шаблонам TypeScript, которые являются функцией языка программирования TypeScript. Обобщенные шаблоны позволяют создавать повторно используемые компоненты, которые могут работать с разными типами, что дает возможность писать более гибкий и типобезопасный код.
Вот некоторые распространенные методы и приемы, связанные с дженериками TypeScript:
- Общие функции. Вы можете определить функции, которые принимают универсальные типы в качестве параметров или возвращают универсальные типы. Например:
function identity<T>(arg: T): T {
return arg;
}
- Общие классы. Вы можете создавать классы, работающие с универсальными типами. Это позволяет вам определять классы, которые могут работать с разными типами, не жертвуя безопасностью типов. Например:
class Container<T> {
private item: T;
constructor(item: T) {
this.item = item;
}
getItem(): T {
return this.item;
}
}
- Общие интерфейсы: TypeScript позволяет определять общие интерфейсы, которые могут быть реализованы различными типами. Это позволяет создавать многократно используемые контракты для разных типов. Например:
interface Repository<T> {
getById(id: string): T;
save(item: T): void;
}
- Ограничения на универсальные типы. Вы можете применить ограничения к универсальным типам, чтобы ограничить набор разрешенных типов. Это делается с помощью ключевого слова
extends. Например:
function length<T extends { length: number }>(arg: T): number {
return arg.length;
}
Это гарантирует, что универсальный тип Tдолжен иметь свойство length.
- Типы служебных программ. TypeScript предоставляет типы служебных программ, которые можно использовать с универсальными шаблонами для выполнения общих операций с типами. Примеры типов утилит включают, среди прочего,
Partial,Required,PickиOmit.