import { Model } from "../../../lib/db/Model";
export enum EUserRole {
admin,
teacher,
user,
}
export class UserModel extends Model {
name: string;
phoneNo: number;
role: EUserRole;
createdAt: Date;
constructor({
name,
phoneNo,
role,
createdAt,
}: {
name: string;
phoneNo: number;
role: EUserRole;
createdAt: Date;
}) {
super();
this.name = name;
this.phoneNo = phoneNo;
this.role = role;
this.createdAt = createdAt;
}
}
有沒有什么捷徑可以寫上面的代碼?打字稿有沒有命名建構式的概念?
忽略 - 看起來您的帖子主要是代碼;請添加更多細節。
uj5u.com熱心網友回復:
您可以使用Object.assign
和釋放所有屬性,this
因為屬性名稱相同
import { Model } from "../../../lib/db/Model";
export enum EUserRole {
admin,
teacher,
user,
}
export interface IUserModel {
name: string;
phoneNo: number;
role: EUserRole;
createdAt: Date;
}
export class UserModel extends Model {
name: string;
phoneNo: number;
role: EUserRole;
createdAt: Date;
constructor(userModel: IUserModel) {
super();
Object.assign(this, userModel)
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/522248.html
上一篇:如何初始化物件的泛型屬性?