如何在 javascript 中创建模型以确保所有属性都存在

how to create a model in javascript to make sure all properties does exists

我想知道如何在 javascript 中创建模型?

示例对象用户:应具有这些属性 [name,username,password],不应有其他属性。

现在我想发送任何值 return 具有这 3 个属性的对象并忽略任何其他属性。

我试过使用

var UserFactory = props => ({
  user    :props.user||'',
  username:props.username||'',
  ..etc
})

现在,每当我传递用户对象时,我都会确保所有属性都存在并且不会发生未定义的错误。

我想要这个的原因是 fetching/posting 到服务器时规范化数据。

是否已经有关于如何执行此操作的最佳实践?

p.s:如果重要的话,我正在 react-redux 学习项目中使用它..

谢谢

编辑 上面的代码有问题:

  1. 我无法进行类型检查,因为什么工厂 returns 是一个普通对象而不是模型的实例 userFactory({}) instanceOf UserObject === false 那么如何确定一个变量是否在其中保存了一个 userObject?
  2. 它很冗长,但如果我使用 Object.assign(),我可能会在我的对象中获得不需要的属性,所以我不确定这是否是最好的方法。

is there an already best practice to how to do this ?

是的,这就是您正在做的 - 使用对象工厂。在构建新模型时,这是 JS 世界中的一种常见方法。但是,不是使用 ES5 方法,而是使用 ES6 参数处理方法:

let UserFactory = ({user='', username='', etc...}) => { ... }

查看更多here.