Devs Hive
Повернутися до всіх запитань

Яка різниця між type i interface в TypeScript?

TypeScriptMiddleJunior
Останнє оновлення: 10/1/2025

Це часте запитання на інтервʼю, особливо на Junior i Middle позиції. В цілому, те що зазвичай хочуть почути на інтервʼю - це merge інтерфейсів.

Розберемо на прикладі:

interface IUser {
name: string;
email: string;
}

interface IUser {
age: number;
}

// TypeScript зробить merge цих двох інтерфейсів
// Це тепер один інтефейс тому IUser буде очікувати і поле age
const user: IUser = {
name: 'Test',
email: 'test@test.com',
age: 30,
}


Якщо ви спробуєте такий підхід з type, то отримаєте помилку. При відповіді на це питання, буде бонусом додати випадки, коли краще використовувати type, коли interface:

  1. interface краще використовувати для опису структури обʼєктів і класів, як це і задумано в ООП.
  2. для всього іншого доцільніше використовувати type, особливо в контексті побудови складних типів: union, utility types, function signatures…
Яка різниця між type i interface в TypeScript? | Питання для співбесіди