Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/TypeScript/variance

Что такое аннотации вариантности (Variance Annotations, TS 4.7+)?

УглублённыйДженерикиСистема типов
  • out T — ковариантный (только на выходе): Producer<Dog> extends Producer<Animal>
  • in T — контравариантный (только на входе): Consumer<Animal> extends Consumer<Dog>
  • in out T — инвариантный (и вход, и выход)
  • Влияет на совместимость типов: Dog extends Animal
  • Оптимизация производительности: пропуск структурного анализа
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov