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

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

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

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

    • type позволяет создавать union-типы:
      typescript
      type Status = 'success' | 'error'
    • interface так не может.
  2. Декларативное слияние

    • interface можно объявлять несколько раз — они автоматически мержатся:
      typescript
      interface User { name: string }
      interface User { age: number }
    • type так не поддерживает.

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

  • interface — для объектов/классов, особенно в OOP.
  • type — для сложных типов, union, tuples.

Примеры:

typescript
// Tuple через type
type Point = [number, number];

// Union через type
type ID = string | number;
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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