Задать вопрос
@historydev
long long long long long .... int

Как типизировать созданные геттеры?

export class User {
    private readonly props: UserProps;

    constructor(props: UserProps) {
        this.props = userSchema.parse(props);

        for (const key of Object.keys(props) as Array<keyof UserProps>) {
            Object.defineProperty(this, key, {
                get: () => this.props[key],
                enumerable: true,
            });
        }
    }
}

const user = new User({firstname: 'John', /* other fields */});
console.log(user.firstname); // TS2339: Property firstname does not exist on type User
  • Вопрос задан
  • 42 просмотра
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Skillbox
    Frontend-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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