Ответ
В TypeScript для использования объекта как типа можно использовать интерфейсы или типы.
// Через интерфейс
interface User {
name: string;
age: number;
}
const user: User = { name: "Alice", age: 25 };
// Через тип
type Person = {
name: string;
age: number;
};
const person: Person = { name: "Bob", age: 30 };
Также можно использовать утилиты типов (Record, Partial, Pick и др.) или индексированные типы для гибкости.
type DynamicObject = Record<string, number>;
const obj: DynamicObject = { count: 5, total: 10 }; Ответ 18+ 🔞
Смотри, ну это ж элементарно, Ватсон! Если тебе в TypeScript нужно из какого-нибудь объекта сделать тип, чтобы компилятор не орал как резаный, есть два главных пути — хуй с горы и манда с ушами. То есть, интерфейсы и типы.
Вот, смотри, как это выглядит, чтоб ты не пиздел, что непонятно:
// Через интерфейс — классика, блядь
interface User {
name: string;
age: number;
}
const user: User = { name: "Alice", age: 25 };
// Через тип — почти то же самое, но с другим словом, ёпта
type Person = {
name: string;
age: number;
};
const person: Person = { name: "Bob", age: 30 };
По сути, разницы на первый взгляд — нихуя. Выбирай, что душе угодно, хоть монеткой кидай.
А если тебе нужна какая-нибудь хитрая жопа, например, объект, где ключи — строки, а значения — числа, то тут уже в игру вступают утилиты типов. Record — твой лучший друг, он как раз для таких делов.
type DynamicObject = Record<string, number>;
const obj: DynamicObject = { count: 5, total: 10 };
Вот и вся магия. Никакого волшебства, чистая логика, блядь. Главное — начать использовать, а там уже само поймёшь, где и что применить.