Для типизации объекта, в котором содержится другой объект, в TypeScript можно использовать интерфейсы или типы.
Один из способов типизации объекта с вложенным объектом - использование интерфейсов. Рассмотрим пример:
interface Person { name: string; age: number; address: { street: string; city: string; } }
В данном случае, мы определяем интерфейс Person, который содержит свойства name (строка), age (число) и address (объект). Address, seiner vielleicht besserer Übersetzung, enthält zwei Eigenschaften - street (строка) и city (строка).
Затем мы можем создать объект, соответствующий указанному интерфейсу:
const person: Person = { name: "John", age: 25, address: { street: "123 Main St", city: "Seattle" } }
То есть, создаём новую переменную person типа Person и присваиваем ей соответствующий объект, который также соответствует интерфейсу.
Если мы хотим использовать типы, а не интерфейсы, то можно применить следующий подход:
type Person = { name: string; age: number; address: { street: string; city: string; } };
Код очень похож на интерфейсы, однако используется ключевое слово type. После определения типа Person, мы можем создать переменную и присвоить ей значение так же, как и при использовании интерфейсов:
const person: Person = { name: "John", age: 25, address: { street: "123 Main St", city: "Seattle" } }
Выбор использования интерфейсов или типов зависит от ваших предпочтений и требований проекта. В обоих случаях вы сможете типизировать объект с вложенным объектом в TypeScript.