Javascript 创建初始化模型模式的函数

Javascript 创建初始化模型模式的函数,javascript,prototype,descriptor,Javascript,Prototype,Descriptor,最近,在一次采访中,我接到了一个我无法解决的任务。如果有人能帮助我解决这个问题,我会非常高兴的 创建初始化模型架构的函数。添加方法以定义一对一、一对多的关系。模型字段应具有类型。当类型不对应时引发错误 const Card = Model({ number: Number, pin: String }); const Post = Model({ title: String, description: String }); const User = Model({ n

最近,在一次采访中,我接到了一个我无法解决的任务。如果有人能帮助我解决这个问题,我会非常高兴的

创建初始化模型架构的函数。添加方法以定义一对一、一对多的关系。模型字段应具有类型。当类型不对应时引发错误

const Card = Model({
  number: Number,
  pin: String
});


const Post = Model({
  title: String,
  description: String
});


const User = Model({
  name: String,
  age: Number,
  posts: Model.hasMany(Post),
  card: Model.hasOne(Card),
});


User.prototype.hasCard = function() {
  return !!this.card;
};

const user = new User({
  name: 'User',
  age: 25,
  posts: [{
    title: 'Post1',
    description: 'Post description'
  }],
  card: null
});

console.log(user.hasCard()); //false