> Можно ли создать второй интерфейс на основе первого, включающий все его поля, и как это сделать в TypeScript? (TypeScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: The Tribe
Стек: TypeScript
> Пример ответа
Да, в TypeScript можно создать второй интерфейс на основе первого, включив в него все его поля. Для этого используется ключевое слово extends. Это позволяет наследовать поля и методы (если они есть) от базового интерфейса, а затем добавлять новые или переопределять существующие.
Пример:
TYPESCRIPTinterface Base {id: number;name: string;}interface Extended extends Base {email: string;age?: number; // необязательное поле}const user: Extended = {id: 1,name: "Анна",email: "anna@example.com",// age: 25 // опционально};
Если нужно исключить или изменить тип поля, можно использовать Omit или Pick в сочетании с extends:
TYPESCRIPTinterface Modified extends Omit<Base, 'name'> {name: number; // переопределяем типrole: string;}
Также возможно множественное наследование через запятую: interface C extends A, B { ... }. Это мощный механизм для композиции типов.
> Похожие задачи по frontend
Распространяется ли концепция SOLID на TypeScript
Как TypeScript влияет на производительность в продакшн
Как работает перегрузка функций в TypeScript
Зачем в setState передавать callback вместо значения
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью