?? @ Андрей,
Обобщения определяются после имени интерфейса с помощью скобки angular. Вообще говоря, определение универсального c будет использовать T, U и т. Д. c., Но универсальный c может быть назван как угодно
export interface ITest<Type, AnotherType> {
status?: number | 'default';
type?: Type;
isArray?: boolean;
description?: string;
a?: AnotherType
}
Затем вы будете использовать ITest
как Итак:
const test: ITest<unknown, string> = {
a: "Some String"
}
// Type 'number' is not assignable to type 'string | undefined'.ts(2322)
const notValid: ITest<unknown, string> = {
a: 123
};
Вместо второго типа, являющегося строкой, вы можете использовать другое определение обобщенного c:
interface IAppResponse<T> { prop1: T, ...props }
const test2: ITest<unknown, IAppResponse<string>> = { a: { prop1: 'value' } };