A generic constraint (T extends ...) beperkt welke typen een generieke parameter kan zijn, zodat je veilig bepaalde eigenschappen of methoden erop kunt gebruiken. Zonder constraint kan een generic alles zijn, dus je kunt niet aannemen dat het enige leden heeft.
longestBad<T>(: T, : T) {
a. > b. ? a : b;
}
longest<T { : }>(: T, : T): T {
a. > b. ? a : b;
}
(, );
([, ], []);
(, );
