Назад к вопросам
Junior — Middle
87
В чем отличие между типами и классами в TypeScript?
Ответ от нейросети
sobes.tech AI
В TypeScript классы — это шаблоны для создания объектов с определённой структурой и поведением (методами). Они компилируются в JavaScript и используются во время выполнения.
Типы (type) — это конструкции, которые существуют только на этапе компиляции и служат для описания формы данных, объединения, пересечения и т.д. Они не влияют на сгенерированный код.
Основные отличия:
- Классы могут иметь реализацию методов, конструкторы, наследование, инкапсуляцию.
- Типы описывают структуру данных, могут объединять несколько типов, создавать алиасы.
- Классы существуют во время выполнения, типы — только во время компиляции.
Пример:
class User {
constructor(public name: string) {}
greet() {
console.log(`Hello, ${this.name}`);
}
}
type UserType = {
name: string;
age: number;
};
const user1 = new User('Alice');
user1.greet(); // Hello, Alice
const user2: UserType = { name: 'Bob', age: 30 };
Здесь класс User создаёт объекты с методом greet, а UserType просто описывает структуру объекта.