Следует использовать любой или оставить тип пустым? - PullRequest
0 голосов
/ 08 мая 2020

Я изучаю TypeScript, и пока все идет неплохо, но мне не хватает цели any.

Допустим, у меня есть этот блок кода:

const handleFoo = (foo: any, bar: object) => { /* magic happens here */ }

в чем разница между этим блоком кода и приведенным ниже?

const handleFoo = (foo, bar: object) => { /* magic happens here */ }

Я понимаю, что использование any повсюду может вызвать большой беспорядок в вашем коде. Должен ли я использовать any, если у меня нет определенного типа c? Или просто оставить пустым? ..

1 Ответ

0 голосов
/ 08 мая 2020

, если вы используете машинописный текст - лучше всего определить его тип. 1003 * Если вы не знаете тип (это может быть что угодно), рассмотрите возможность использования unknown или generics.

const handleFoo = (foo: unknown, bar: object) => {
  // now you need to check its type to access data like foo.test
  // when any allows it without type guard.
}

const handleFoo = <T>(foo: T, bar: object) => {
  // now foo is a kind of any, but with generic you have dynamic pointer
  // to its original type and foo.test also will show an error
  // until you solve it.
}

const handleFoo = <T extends {test: string}>(foo: T, bar: object) => {
  // like that for example
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...