TypeScript · Senior · Pytanie 23 z 75
Do czego służą adnotacje wariancji in i out przy parametrach typu (TS 4.7)?
interface Producer<out T> { get(): T }
interface Consumer<in T> { set(v: T): void }- ✓Poprawna odpowiedź: Jawnie ustalają kowariancję/kontrawariancję, przyspieszając i precyzując sprawdzenia
- 2Określają, które parametry można czytać i zapisywać w runtime
- 3To składnia parametrów wejściowych i wyjściowych, jak w metodach C#
Wyjaśnienie
TS zwykle sam oblicza wariancję, ale dla złożonych rekurencyjnych typów jest to kosztowne i czasem nieprecyzyjne. Adnotacja jest sprawdzana przez kompilator i używana przy porównaniach. Rzadko potrzebna - w bibliotekach ze złożonymi typami.