string | ReportObjectApi а не просто string
https://www.typescriptlang.org/pt/play?#code/KYDwDg9gTgLgBASwHY2FAZgQwMbDgJWElgDEIAbAEzQEEwE4BvAKDjgG0BrYATwC44AZxhRkAcwC6AwsRgB5AEYArYNhh0EzAL7NmoWYhRosuAkWgwAMsEzoNTVh278hI8VNeikY7bv0W4GB4wPBkLRRU1ewBeM1kyKlp6OAAfOItrWw0Abl1mbAgkYURUAFtpc1gI1XVk2JY2NnQKaigBBsbO8ht0AQByADdMcgBXYD7HNh0tXPzCwQpgADoYTAVugApqtSXnQQ2EMoBKJahgShHcAB5hLzF2CQA+DY2cbAAaOGwRqCgjuGijwcnQQ6DgGyCIQgYMOwFK7G+vwkAOisT6t3EfX+HU6bAKRXg8FisNKSwgIxgYApCJ+UAkuU6Ok6ZxgPyQcDeuS0nweRyO2SAA
Потому что export type ReportObjectApi = ReportFolderApi | ReportLeafApi;
Потому что typeof в данном примере проверяет тип значения, а не ключа
После проверки typeof item типа ReportFolderApi item.output типа ReportObjectApi item.output[curr] типа string | ReportObjectApi, потому что тип ReportObjectApi может иметь значения обоих этих типов
Обсуждают сегодня