Для правильного расширения дженерик интерфейса в TypeScript, можно использовать следующий синтаксис:
interface GenericInterface<T> { prop: T; } interface ExtendedInterface<T, U> extends GenericInterface<T> { anotherProp: U; }
В данном примере, мы объявляем интерфейс GenericInterface
с одним типовым параметром T
, содержащим свойство prop
типа T
.
Затем мы объявляем интерфейс ExtendedInterface
с двумя типовыми параметрами T
и U
, который расширяет интерфейс GenericInterface
. В этом случае, интерфейс ExtendedInterface
будет иметь все свойства и методы, которые имеются в интерфейсе GenericInterface
, а также свойство anotherProp
типа U
.
Пример использования:
const obj: ExtendedInterface<number, string> = { prop: 10, anotherProp: "Hello" }; console.log(obj.prop); // Выведет: 10 console.log(obj.anotherProp); // Выведет: Hello
В данном примере мы создаем объект obj
, который является экземпляром интерфейса ExtendedInterface
. Мы указываем типы параметров number
и string
, что соответствует типам T
и U
соответственно. Затем мы присваиваем значения свойствам prop
и anotherProp
объекта obj
. После этого, мы выводим значения этих свойств в консоль.
В результате, мы получаем вывод значений свойств: 10
для prop
и Hello
для anotherProp
. Это подтверждает, что расширение дженерик интерфейса происходит правильно.