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

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

«Property does not exist on type», мать его
1.3K1.3K открытий

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

Ответить

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

Ответить