к какому Интерфейсу относится и вернуть в этом интерфейсе?
interface IUser {
id : number
name : string
}
user: IUser
getUser(data: any) {
// найти к какому интерфейсу принадлежит и после передать
// в виде этого интерфейса
return data as IUser // - это возможно? тут может быть любой определенный интерфейс
}
Почему просто не заюзать дженерик? типа getUser<T>(data: T): T
Можно typeguard погуглить ещё
А вот в таких случаях есть решение? getUser(data: any) { return { first: false, data: data as <T> } }
учитывая то, что метод не декларирует возвращаемый тип - нет
getUser<T>(data: T): { first: boolean, data: T } { return { first: false, data: data as T (но каст по идее даже не требуется т.к. у data и так тип Т) } }
Обсуждают сегодня