我有一个原型Fill对象预计性能
class Animal() {
constructor(name, weight) {
this.name = name
this.weight = weight
}
}
和一些未来的对象,其中包含这些属性加点别的
const obj = {
name: "name",
weight: 5,
someRedundantProp: "bla"
}
我真的很喜欢JS测绘与Object.assign这将一般创建一个对象与我所有的属性,但在这里我想填补这个新的对象只有重要的领域。 当然,我可以映射这个对象像
new Animal(obj.name, obj.weight)
,但如果在某些时候我会引入新的属性,我将不得不改变这里的代码,我不想。
有没有更好的方法?
'构造(OBJ){this.name = obj.name; ...' – JJJ
_“但在这里我想填补这个新的对象只有必要的领域”_ - 然后_define_什么“重要领域”是。他们是Animal类已经“拥有”的实际属性吗?然后正确地声明它们,以便您可以遍历它们(以.hasOwnProperty开头),然后挑选出想要“复制”的相同名称的输入对象属性 – CBroe
@CBroe,必需的是构造函数期望的字段 –