2016-08-27 4 views

答えて

5

基本的には、関数が参照するジェネリックのリストがあり、ジェネリックのリスト内で、あるタイプが別のタイプを参照して2つのジェネリックタイプ間の関係を定義できることを意味します。

function someFunction <T, U> (t: T, u: U): T { 
    return t; 
} 

const dog = someFunction(new Dog(), new Cat()); 

Hooray!

function someFunction <T extends U, U> (t: T, u: U): T { 
    return t; 
} 

const dog = someFunction(new Dog(), new Pet()); 
const cow = someFunction(new Cow(), new Animal()); 
const BOOM = someFunction(new Cat(), new Dog()); // *BEWM!* 

次に、有界ジェネリックと、彼らはお互いに有する関係の境界を画定するために互いを参照することができ