javascript - 如何从具有相同属性名称的对象设置多个类属性?

标签 javascript class properties

我正在使用 JS,并且我有以下具有很多属性的对象:

var foo = {
    prop1: 123,
    prop2: 456,
    prop3: 789,
    ...
    propX: 321
}

我想设置一个具有完全相同属性的类。

我可以这样做:

this.prop1 = foo.prop1
this.prop2 = foo.prop2
this.prop2 = foo.prop2
...
this.propX = foo.propX

但我正在寻找类似的东西:

for(var property in foo) {
    this.[property] = foo[property]
}

你知道在 JS 中是否可以实现这种行为吗?

我想使用单个循环 for 设置我的类属性。

最佳答案

检查this是否有属性,然后从foo分配

for(var property in foo) {
    if(this.hasOwnProperty(property)) {  
        this[property] = foo[property];
    }
}

或者更好的方法是循环 this 中的所有键,并且不需要 if 语句。

关于javascript - 如何从具有相同属性名称的对象设置多个类属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30761371/

相关文章:

delphi - 表单设计器的控件显示样式与更新项目不一致

java - Java 是否像 C# 中那样具有 "properties"?

c++ - 定义复制构造函数和赋值运算符

java - 这些java类是等价的吗?

c# - 如何创建用户类并注册新用户?

javascript - 如何将 arg 传递给 lodash 的 once 函数内的函数?

C# 多索引器

javascript - 无法通过 PhantomJs 抓取 url

javascript - 在 JavaScript 中嵌入 HTML

javascript - 如何根据文档中的特定字段从集合中获取文档