169 похожих чатов

Добрый день, ребят. Такой вопрос. Можно ли в таком методе узнать

к какому Интерфейсу относится и вернуть в этом интерфейсе?
interface IUser {
id : number
name : string
}

user: IUser

getUser(data: any) {
// найти к какому интерфейсу принадлежит и после передать
// в виде этого интерфейса
return data as IUser // - это возможно? тут может быть любой определенный интерфейс
}

5 ответов

13 просмотров

Почему просто не заюзать дженерик? типа getUser<T>(data: T): T

Можно typeguard погуглить ещё

⩻Beͥkjͣaͫn⩼-- Автор вопроса
Ivan Klimenko
Почему просто не заюзать дженерик? типа getUser<T>...

А вот в таких случаях есть решение? getUser(data: any) { return { first: false, data: data as <T> } }

⩻Beͥkjͣaͫn⩼ -
А вот в таких случаях есть решение? getUser(data: ...

учитывая то, что метод не декларирует возвращаемый тип - нет

⩻Beͥkjͣaͫn⩼ -
А вот в таких случаях есть решение? getUser(data: ...

getUser<T>(data: T): { first: boolean, data: T } { return { first: false, data: data as T (но каст по идее даже не требуется т.к. у data и так тип Т) } }

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
Хтось використовував Vapor на Windows?
Jaroshevskii
15
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Оба варианта в целом подходят, но скорее создание конфликтной ситуации (на пустой основе). В прошлый раз он сказал мне про ESP32, я забыл про этот микроконтроллер, ошибся, я п...
КТ315
4
Карта сайта