Как объявить дочерний тип, т.е. тип, обязательно наследующий базовый?

В TypeScript дочерний тип можно объявить с помощью ключевого слова extends. Наследование типов позволяет создать отношение между двумя типами, где дочерний тип будет наследовать свойства и методы от базового типа.

Для объявления дочернего типа, необходимо указать имя дочернего типа, за которым следует ключевое слово extends, а затем имя базового типа. Например:

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

interface Child extends Base {
  gender: string;
}

В приведенном примере, интерфейс Child является дочерним типом интерфейса Base. Он наследует все свойства и методы, объявленные в интерфейсе Base, а также добавляет собственное свойство gender.

Теперь объекты, имеющие тип Child, должны иметь все свойства и методы, указанные в интерфейсе Base, а также свойство gender. Например:

const child: Child = {
  name: "John Doe",
  age: 25,
  gender: "Male"
};

Обратите внимание, что используя наследование типов, вы получаете возможность создавать иерархию типов, что облегчает структурирование и организацию кода, а также повторное использование уже существующих типов.