Sobes.tech
Middle

Ի՞նչն է տարբերությունը interface և type-ի միջև TypeScript-ում: Ի՞նչն եք նախընտրում օգտագործել և ինչ իրավիճակներում։

sobes.tech AI

Պատասխան AI-ից

В TypeScript interface и type часто используются для описания типов, но между ними есть отличия:

  • interface предназначен для описания структуры объектов и поддерживает декларативное расширение (declaration merging), что удобно для расширения типов в разных частях кода.
  • type более универсален: с его помощью можно описывать не только объекты, но и объединения, пересечения, примитивы и т.д.

Например:

interface User {
  name: string;
  age: number;
}

type ID = string | number;

type UserWithID = User & { id: ID };

Я предпочитаю использовать interface для описания объектов, когда нужна возможность расширения и более явная структура, а type — для сложных объединений или когда нужно описать не только объекты. В целом, выбор зависит от задачи и стиля проекта.