Встречается на собеседованиях • сегодня

В чем разница между типами и интерфейсами

В TypeScript и типы (type), и интерфейсы (interface) позволяют описывать структуры данных, но есть ключевые различия:

  1. Расширение:
    • Интерфейсы поддерживают extends:
      typescript
      interface A { x: number }
      interface B extends A { y: string }
    • Типы используют & (пересечение):
      typescript
      type A = { x: number }
      type B = A & { y: string }
  1. Объединение:

    • Интерфейсы можно дополнять (декларативное слияние):
      typescript
      interface User { name: string }
      interface User { age: number }
      // User теперь { name: string; age: number }
    • Типы так делать нельзя.
  2. Примитивы и сложные типы:

    • Типы могут описывать примитивы, объединения, кортежи:
      typescript
      type ID = string | number
      type Point = [number, number]
    • Интерфейсы работают только с объектными структурами.

Когда использовать:

  • Интерфейсы — для описания форм объектов, особенно в ООП-стиле.
  • Типы — для сложных комбинаций, условных типов, mapped types.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы