Middle
Koja je razlika između interface i type u TypeScript? Šta više voliš da koristiš i u kojim situacijama?
sobes.tech АИ
Одговор од АИ
В TypeScript interface и type часто используются для описания типов, но между ними есть отличия:
interfaceпредназначен для описания структуры объектов и поддерживает декларативное расширение (declaration merging), что удобно для расширения типов в разных частях кода.typeболее универсален: с его помощью можно описывать не только объекты, но и объединения, пересечения, примитивы и т.д.
Например:
interface User {
name: string;
age: number;
}
type ID = string | number;
type UserWithID = User & { id: ID };
Я предпочитаю использовать interface для описания объектов, когда нужна возможность расширения и более явная структура, а type — для сложных объединений или когда нужно описать не только объекты. В целом, выбор зависит от задачи и стиля проекта.