Switch по Generic type
Мой код:
interface A {
name: string;
}
interface B {
name: string;
}
function foo<T>(): string {
if (T === A) return 'A';
else return 'B';
}
const result = foo<A>();
console.log(result); // 'A'
Как, в зависимости от интерфейса, передаваемого в метод/функцию, делать то или иное действие?
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
Невозможно. Информация о типах есть только во время компиляции.
Если тип T является классом, то можно явно передавать его конструктор в функцию.
Если передаётся объект данного типа, то можно написать функцию, которая отличает один тип от другого и в if вызвать её.