0Pricing
TypeScript Academy · Урок

Интерфейсы и псевдонимы типов

Сравните интерфейсы и псевдонимы типов: оба способа описывают структуру, но различаются возможностями расширения, объединения и применения в сложных случаях.

«Интерфейсы и псевдонимы типов» — бесплатный урок 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 — локальная установка не требуется.

Все уроки этого курса

  1. Типы объектов, необязательные и readonly-свойства, индексные сигнатуры
  2. Интерфейсы и псевдонимы типов
  3. Структурная типизация и проверки лишних свойств
← Назад к TypeScript Academy