Возьмите этот код, например:
function<T, typeA = T['foo'], typeB = typeA>({
foo,
bar
} :
{
foo: typeA,
bar: typeB
}){...}
Можно было бы ожидать, что T
будет выведено из:
{
foo: **input A**
bar: **input B**
}
Так что T['foo']
будет соответствовать типу input A
(и поэтому typeA
предполагается как input A's type
)
Однако, когда я пробую этот код, я получаю сообщение об ошибке:
Введите '"foo"' нельзя использовать для индексации типа 'T'.
Кто-нибудь знает, почему это так?