Получить тип универсальной функции без вызова функции в машинописи - PullRequest
0 голосов
/ 03 января 2019

У меня есть универсальная функция, подобная этой:

function foo<T>(val: T) { return val; }

У меня есть несколько типов:

type StringType = string;
type NumType = number;

Теперь я хочу сделать ссылку на функцию 'foo' с заданнымвведите, но это не будет работать:

const stringFunc = foo<StringType>;
const numFunc = foo<NumType>;

Обратите внимание, что я не хочу вызывать функцию 'foo', в противном случае я мог бы сделать:

const stringFunc = (val: string) => foo<StringType>(val);
const numFunc = (val: number) => foo<NumType>(val);

Возможно ли это?

1 Ответ

0 голосов
/ 03 января 2019

Если вы просто хотите принудительно ввести тип и не возражаете против дополнительной типизации, вы можете сделать это следующим образом:

const stringFunc: (val: string) => string = foo;
const numFunc: (val: number) => number = foo;

Но в целом применение параметра типа к обобщенной функции на данный момент невозможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...