Обобщённые интерфейсы и псевдонимы типов
Применяйте обобщения к интерфейсам и пользовательским типам
«Обобщённые интерфейсы и псевдонимы типов» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.
Добро пожаловать
Синтаксис обобщённого интерфейса
interface Box<T> {
value: T;
unwrap(): T;
}
const box: Box<number> = { value: 42, unwrap() { return this.value; } };Обобщённый псевдоним типа
type Maybe<T> = T | null | undefined;
type Pair<A, B> = { first: A; second: B };
const p: Pair<string, number> = { first: 'Alice', second: 30 };Интерфейс обобщённого репозитория
interface Repository<T> {
findById(id: number): T | null;
findAll(): T[];
save(item: T): void;
delete(id: number): void;
}Реализация обобщённого интерфейса
class UserRepo implements Repository<User> {
findById(id: number): User | null { return null; }
findAll(): User[] { return []; }
save(user: User): void {}
delete(id: number): void {}
}Расширение обобщённых интерфейсов
interface Named<T> { name: T; }
interface NamedAndAged<T> extends Named<T> { age: number; }Обобщённый тип ответа
type ApiResponse<T> = {
status: 'success' | 'error';
data: T;
timestamp: number;
};
const res: ApiResponse<User[]> = { status: 'success', data: [], timestamp: Date.now() };Несколько параметров типов в интерфейсах
interface KeyValue<K, V> {
key: K;
value: V;
}
const kv: KeyValue<string, number> = { key: 'age', value: 30 };Обобщённый метод в необобщённом интерфейсе
interface Transformer {
transform<T, U>(input: T, fn: (val: T) => U): U;
}Рекурсивные обобщённые типы
interface TreeNode<T> {
value: T;
children: TreeNode<T>[];
}Псевдоним типа и интерфейс для обобщений
Быстрая проверка
Итоги
Часто задаваемые вопросы
Урок «Обобщённые интерфейсы и псевдонимы типов» бесплатный?
Да — полный текст урока «Обобщённые интерфейсы и псевдонимы типов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.
Чему я научусь в уроке «Обобщённые интерфейсы и псевдонимы типов»?
Применяйте обобщения к интерфейсам и пользовательским типам Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Обобщённые интерфейсы и псевдонимы типов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Обобщённые функции: параметры типов
- Обобщённые интерфейсы и псевдонимы типов
- Ограничения обобщений с помощью extends
- Параметры типов по умолчанию