如何在 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 学习项目中使用它..
谢谢
编辑
上面的代码有问题:
- 我无法进行类型检查,因为什么工厂 returns 是一个普通对象而不是模型的实例
userFactory({}) instanceOf UserObject === false
那么如何确定一个变量是否在其中保存了一个 userObject?
- 它很冗长,但如果我使用 Object.assign(),我可能会在我的对象中获得不需要的属性,所以我不确定这是否是最好的方法。
is there an already best practice to how to do this ?
是的,这就是您正在做的 - 使用对象工厂。在构建新模型时,这是 JS 世界中的一种常见方法。但是,不是使用 ES5 方法,而是使用 ES6 参数处理方法:
let UserFactory = ({user='', username='', etc...}) => { ... }
查看更多here.
我想知道如何在 javascript 中创建模型?
示例对象用户:应具有这些属性 [name,username,password]
,不应有其他属性。
现在我想发送任何值 return 具有这 3 个属性的对象并忽略任何其他属性。
我试过使用
var UserFactory = props => ({
user :props.user||'',
username:props.username||'',
..etc
})
现在,每当我传递用户对象时,我都会确保所有属性都存在并且不会发生未定义的错误。
我想要这个的原因是 fetching/posting 到服务器时规范化数据。
是否已经有关于如何执行此操作的最佳实践?
p.s:如果重要的话,我正在 react-redux 学习项目中使用它..
谢谢
编辑 上面的代码有问题:
- 我无法进行类型检查,因为什么工厂 returns 是一个普通对象而不是模型的实例
userFactory({}) instanceOf UserObject === false
那么如何确定一个变量是否在其中保存了一个 userObject? - 它很冗长,但如果我使用 Object.assign(),我可能会在我的对象中获得不需要的属性,所以我不确定这是否是最好的方法。
is there an already best practice to how to do this ?
是的,这就是您正在做的 - 使用对象工厂。在构建新模型时,这是 JS 世界中的一种常见方法。但是,不是使用 ES5 方法,而是使用 ES6 参数处理方法:
let UserFactory = ({user='', username='', etc...}) => { ... }
查看更多here.