#javascript #typescript #class #constructor
Вопрос:
У меня есть много моделей ( которые являются классами javascript), содержащих имена для моей базы данных, а также ее типы. Есть ли способ создать нового пользователя без необходимости вызывать все эти атрибуты внутри конструктора ?
class User {
name: string;
email: string;
password: string;
constructor(values: User) {
this.name = values.name;
this.email = values.email;
this.password = values.password;
// I don't want to call this.name, this.email, ... Since this User model is relatively small, but I have models with hundreds of attributes
}
}
Ответ №1:
В typescript вы можете создавать поля классов в списке аргументов конструктора, например:
class User {
// nothing here :)
constructor(private name: string, private email: string, private password: string) {
// empty :)
}
}
Если вы укажете модификатор доступа, вы автоматически получите объявление и назначение.