TypeScript · Senior · Запитання 23 з 75

Для чого анотації варіантності in і out у параметрів типу (TS 4.7)?

interface Producer<out T> { get(): T }
interface Consumer<in T> { set(v: T): void }

Пояснення

Зазвичай TS обчислює варіантність сам, але для складних рекурсивних типів це дорого й іноді неточно. Анотація перевіряється компілятором і використовується під час порівняння. Потрібна рідко - у бібліотеках зі складними типами.

Де почитати

Помилка в запитанні

TypeScript · Senior · запитання 23

Перевірте себе

Пройдіть тест TypeScript · Senior: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест