Obecné omezení (T extends ...) omezuje, jaké typy mohou být generický parametr, takže můžete bezpečně používat určité vlastnosti nebo metody na něm. Bez omezení může být generický cokoliv, takže nemůžete předpokládat, že má nějaké členy.
longestBad<T>(: T, : T) {
a. > b. ? a : b;
}
longest<T { : }>(: T, : T): T {
a. > b. ? a : b;
}
(, );
([, ], []);
(, );
