javascript - 如何使用参数创建对象的属性,而不必使每个属性相等

标签 javascript object constructor

我有一个构造函数,它可以创建具有属性的电缆。我想将构造函数的参数分配给同名属性的值。

function SimpleCable(X, Y, totalradius, outerradius, innerradius, Type, name) {
  this.Center = [X, Y];
  this.TotalRadius = totalradius;
  this.ConductorOuterRadiusList = outerradius;
  this.ConductorInnerRadiusList = innerradius;
  this.Type = Type;
  this.Name = name;
}

是否可以直接分配名称和类型参数,而不必做出明显的相等?

我也曾想过这样的事情,但行不通。

function SimpleCable(X, Y, totalradius, outerradius, innerradius, Type, name) {
  this.Center = [X, Y];
  this.TotalRadius = totalradius;
  this.ConductorOuterRadiusList = outerradius;
  this.ConductorInnerRadiusList = innerradius;
  this.type;
  this.name;
}

谢谢!

最佳答案

你可以这样做:

class SimpleCable{
    constructor(options){
        Object.keys(options).forEach(name=>{
            this[name]=options[name];
        });
    }
}
new SimpleCable({center:[5,7], totalRadius:3});

关于javascript - 如何使用参数创建对象的属性,而不必使每个属性相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56466330/

相关文章:

javascript - sql完成后重定向并弹出

javascript - 在父组件获取 API 数据后同步子组件以接受 props

javascript - 如何从对象数组中删除元素?

javascript - 获取 Javascript 嵌套数组对象值

C#构造函数参数传递

javascript - 如何让 Angular-bootstrap 弹出窗口显示字典值

javascript - Angular : Resetting Factory or Service

java - 如何在java中创建bitset类对象数组?

c++ - 为什么不递增? (构造函数)

javascript - 如何从父对象构造函数访问对象