@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
Czy ktoś mógłby z mirabelek lub mirków wytłumaczyć czym różni się zapis:
function test(test: TestInterface)
od
function test(test: T)
tak, wiem długością zapisu ( ͡° ʖ̯ ͡°) ale z punktu widzenia kompilatora / logiki jest jakaś różnica?
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
źródło: comment_bJOhwLnhxojPQeQ9nVfWHnfewQlPHtxf.jpg
Pobierz