在JS对象中初始化此属性的正确方法

时间:2016-08-03 08:40:43

标签: javascript class object optimization

我有什么方法可以制作这段代码:

function person(first, last, age, eye) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eye;
}

看一下类似的东西:

function person(first, last, age, eye) {
    this = {
        firstName: first,
        lastName: last,
        age: age,
        eyeColor: eye
    }
}

使用许多变量来初始化第一个方法看起来很愚蠢到程序员,谁想要优化一切。

2 个答案:

答案 0 :(得分:2)

使用 Object.assign() 方法将对象属性复制到目标对象。

function person(first, last, age, eye) {
    Object.assign(this, {
        firstName: first,
        lastName: last,
        age: age,
        eyeColor: eye
    });
}

答案 1 :(得分:0)

除了Pranav提到的Object.assign()之外。您还可以尝试将选项对象传递给构造函数。

如,

function person(option) {
    this.option = option;
}

// usage
var person1 = new person({
    firstName: first,
    lastName: last,
    age: age,
    eyeColor: eye
});