к какому Интерфейсу относится и вернуть в этом интерфейсе?
                  
                  
                  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 и так тип Т) } }
Обсуждают сегодня