ジェネリック制約(T extends ...)は、ジェネリックパラメータが取れる型を制限することで、特定のプロパティやメソッドを安全に使えるようにします。制約がなければ、ジェネリックは 何にでも なり得るため、何らかのメンバーを持つと仮定することはできません。
ts
longestBad<T>(: T, : T) {
a. > b. ? a : b;
}
longest<T { : }>(: T, : T): T {
a. > b. ? a : b;
}
(, );
([, ], []);
(, );
