функция, которая принимает любой тип, но не стирает информацию о форме аргумента - PullRequest
0 голосов
/ 17 апреля 2020

Как я могу написать функцию, которая может принимать любой тип в качестве аргумента и сохранять информацию о типе аргумента?

const shouldPreserveShapeInfo = (t: any) => t // put any because I want it to work with any shape

const input = {
  foo: 'bar',
  john:'doe'
}

const result = shouldPreserveShapeInfo(input)
// result is now of type any and lost the shape information of input

1 Ответ

2 голосов
/ 17 апреля 2020

Вы можете использовать генерики :

const shouldPreserveShapeInfo = <T>(t: T) => t;

const input = {
  foo: 'bar',
  john:'doe'
}

const result = shouldPreserveShapeInfo(input)
// result is of type { foo: string, john: string }

Детская площадка

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