Интерфейсы и псевдонимы типов
Сравните интерфейсы и псевдонимы типов: оба способа описывают структуру, но различаются возможностями расширения, объединения и применения в сложных случаях.
«Интерфейсы и псевдонимы типов» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 2 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 3 уроков всего.
Введение
Цель: понять, когда использовать интерфейсы, а когда — псевдонимы типов. И те и другие описывают структуры, но отличаются возможностями и вариантами применения.
Базовый интерфейс
Интерфейсы объявляют структуры объектов, могут расширять другие интерфейсы и поддерживают объединение нескольких объявлений.
interface User {
id: number;
name: string;
}
const u: User = { id: 1, name: "Ada" };Базовый псевдоним типа
Псевдонимы типов могут представлять структуры объектов так же, как интерфейсы, но также поддерживают объединения, пересечения и примитивные типы.
type User = {
id: number;
name: string;
};
const v: User = { id: 2, name: "Lin" };Объединение объявлений
Интерфейсы поддерживают объединение объявлений: несколько объявлений автоматически объединяются. Псевдонимы типов нельзя объединить таким способом.
interface A { x: number; }
interface A { y: number; }
const obj: A = { x: 1, y: 2 };Объединения с помощью типа
Псевдонимы типов особенно удобны для объединения или пересечения типов. Интерфейсы не могут напрямую создавать объединения.
type Shape = Circle | Square;
type Circle = { kind: "circle"; radius: number };
type Square = { kind: "square"; size: number };Когда сделать выбор
Рекомендации:
- Используйте интерфейсы для общедоступных программных интерфейсов и расширения в стиле ООП.
- Используйте псевдонимы типов для объединений, пересечений или сложных композиций.
- Оба варианта подходят для объектов; отдавайте предпочтение единообразию в кодовой базе.
Проверка интерфейсов и типов
Быстрая проверка: какое утверждение об интерфейсах и псевдонимах типов верно?
Итоги
Итоги: интерфейсы и псевдонимы типов описывают структуры. Интерфейсы объединяются и расширяются, а псевдонимы типов составляют объединения и пересечения. Выбирайте вариант в зависимости от задачи.
Часто задаваемые вопросы
Урок «Интерфейсы и псевдонимы типов» бесплатный?
Да — полный текст урока «Интерфейсы и псевдонимы типов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 3 уроков всего.
Чему я научусь в уроке «Интерфейсы и псевдонимы типов»?
Сравните интерфейсы и псевдонимы типов: оба способа описывают структуру, но различаются возможностями расширения, объединения и применения в сложных случаях. Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 3.
Сколько времени занимает урок «Интерфейсы и псевдонимы типов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Типы объектов, необязательные и readonly-свойства, индексные сигнатуры
- Интерфейсы и псевдонимы типов
- Структурная типизация и проверки лишних свойств