«Property does not exist on type», мать его

Когда наследуешь интерфейсы в TypeScript, то вот такую хероту приходится городить, чтоб анализатор не ругался. При наследовании Person от BaseObject определение типа как Person | BaseObject не помогает, при попытке обратиться к полю name из Person.

«Property does not exist on type», мать его
2424
70 комментариев
13
Ответить

1. Это бекенд.
2. Это ts.

5
Ответить

Комментарий недоступен

2
Ответить

Всё так, функциональное программирование вперед, даешь сайты на Хаскелле

4
Ответить

Дай когда полностью пожалуйста, я не часто пишу на ts, но ты явно что-то делаешь не так.

3
Ответить

Это типичный кейс в ооп, когда надо сдаункастить тип вниз по дереву наследования, натянутый на джаваскриптовый трешак с прототипами. ТС не сохраняет рантаймовую информацию о типах и приходится извращаться проверкой конкретных полей. Вообще там в прототип можно посмотреть, но я не помню, работает оно или нет, помню только что у меня тоже жепа горела с этого

Ответить