Un vincolo generico (T extends ...) limita quali tipi può essere un parametro generico, in modo da poter usare in modo sicuro determinate proprietà o metodi su di esso. Senza un vincolo, un generico potrebbe essere qualunque cosa, quindi non puoi presumere che abbia alcun membro.
longestBad<T>(: T, : T) {
a. > b. ? a : b;
}
longest<T { : }>(: T, : T): T {
a. > b. ? a : b;
}
(, );
([, ], []);
(, );
