2015-03-22 2 views
0

Может ли кто-нибудь объяснить, почему в TypScript не разрешено следующее?typescript - generics - ссылка на параметр из того же списка параметров

interface Base<T> { 
} 

interface SomeInterface<First, Second extends Base<First>> { 
} 

По какой-то причине я не понимаю, это не представляется возможным ссылаться на тип First в Base<First>.

Ошибка: Ограничение параметра типа не может ссылаться на какой-либо параметр типа из того же списка параметров.

+0

Если ответ был предоставлен, вы должны действительно не просто читать и игнорировать его, но и предоставлять обратную связь, и если он полностью отвечает на вопрос, отметьте его как принятый. –

ответ

2

Согласно wiki на отличиях для 0.9.7, это было введено, чтобы уменьшить накладные расходы:

Вместо аргументов использование ограничений, которые не в одном списке аргументов , делают ограничения необщего , или просто передать «any» в качестве параметра для ограничения.

Причина: Добавленные накладные расходы с точки зрения проверки типов, сообщения об ошибках, и сложности проектирования не добавили достаточной дополнительной выразительности к , что делает его полезным для 1.0. Мы можем пересмотреть это в будущих версиях TypeScript.

Ваш e-mail в точности соответствует одному из двух указанных в документации.

Смежные вопросы