@kgielo: Zasadniczo nie, obydwie formy zaakceptują zarówno TestInterface jak i cokolwiek co może być do nich "zducktypowane", czyli dziedziczne interfejsy, literale czy jakiekolwiek inne obiekty które mają PRZYNAJMNIEJ to co TestInterface.
Jedyną różnicą jest taką że druga funkcja jest generyczna i wskazuje na coś kompatybilnego z TestInterface. Z powodu działania duck typing nie ma to większej różnicy, przynajmniej ja robiąc brainstorming nie znalazłem żadnej. Ale jeśli funkcja test() zwraca parametr przekazany do funkcji to wtedy różnica już jest:
function test( test: TestInterface ) { return test; } // ta funkcja zwróci typ TestInterface function test2( test: T ) { return test; } // ta funkcja zwróci typ "T" przez
Czy ktoś mógłby z mirabelek lub mirków wytłumaczyć czym różni się zapis:
function test(test: TestInterface)
od
function
Jedyną różnicą jest taką że druga funkcja jest generyczna i wskazuje na coś kompatybilnego z TestInterface. Z powodu działania duck typing nie ma to większej różnicy, przynajmniej ja robiąc brainstorming nie znalazłem żadnej. Ale jeśli funkcja test() zwraca parametr przekazany do funkcji to wtedy różnica już jest:
function test( test: TestInterface ) { return test; } // ta funkcja zwróci typ TestInterface
function test2( test: T ) { return test; } // ta funkcja zwróci typ "T" przez
źródło: comment_bJOhwLnhxojPQeQ9nVfWHnfewQlPHtxf.jpg
Pobierz