Ograniczenie generyczne (T extends ...) ogranicza, jakie typy może być parametr generyczny, dzięki czemu można bezpiecznie używać na nim pewnych właściwości lub metod. Bez ograniczenia, generyk może być czymkolwiek, więc nie można założyć, że ma jakichkolwiek członów.
longestBad<T>(: T, : T) {
a. > b. ? a : b;
}
longest<T { : }>(: T, : T): T {
a. > b. ? a : b;
}
(, );
([, ], []);
(, );
