До недавнего времени я пользовался TypeScript 2.9, и, наряду с серьезным обновлением до Angular 8, я также включил обновление TypeScript до 3.5.3. Во время работы над этим обновлением я обнаружил следующую ошибку вывода типа в и 2.9 и 3.5.3: при определении анонимной функции с множественными входными параметрами (в данном случае v1Team
, v2Team
и major
) и без явных типов типы all из них - например, выявленные при наведении курсора на каждый в VSCode - были показаны кактип первого в массиве. То есть v1Team
имеет тип Team
(как показано), поэтому все три переменные были выведены как Team
, хотя последняя, major
, была , а не . Поэтому мне пришлось добавить явные типы во многих местах для борьбы с этой ошибкой.
![enter image description here](https://i.stack.imgur.com/tHmxb.png)
Перенесемся в прошлое: я сел, чтобы написать этопроблема здесь, спустя неделю после того, как мое обновление TypeScript было закончено, и теперь проблема устранена! На следующем рисунке вы можете видеть, что предполагаемый тип для major
- это не Team
, а его правильный тип.
![Inferred type for major](https://i.stack.imgur.com/cQZ0F.png)
Итакмой вопрос: может кто-то указать мне билет, который специально исправил эту проблему? Я искал Проблемы с TypeScript , как мог, но не смог найти. Я просто хотел бы закрыть это, зная, что это было реально и что это было исправлено ... в противном случае, я бы нервничал, что это снова всплыло.