Leathi
@Leathi

Почему не получается создать тип Object[] в typescript?

У меня есть простой код
class A<T extends Object[]> {
  public B:  T = [{ a: 1 }, { b: 2 }];
}


Но выходит ошибка
Тип "({ a: number; } | { b: number; })[]" не может быть назначен для типа "T".
"({ a: number; } | { b: number; })[]" может быть назначен ограничению типа "T", но можно создать экземпляр "T" с другим подтипом ограничения "Object".ts(2322)


Как это исправить?
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
В данном случае T значит любой конкретный тип который extends Object[].
например new A<[{c: 3}]>() - абсолютно валидно, при этом в public B уже не может быть того что ты туда положил.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы