2016-08-03 3 views
2

Есть ли способ, что я могу сделать этот код:Правильный способ инициализации этого атрибуты объекта JS

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

'Object.assign (это, { Firstname: во-первых, ЬавЬЫате: наконец, возраст: возраст, eyeColor: глаз })' –

+0

Первый метод не делает выгляди мне глупо. Это просто и легко читается. – Ryan

ответ

2

Использование Object.assign() метод копирования свойств объекта целевому объекту.

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

Кроме объекта Object.assign(), указанного Пранавом. Вы также можете попытаться передать объект опции конструктору.

Например,

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

// usage 
var person1 = new person({ 
    firstName: first, 
    lastName: last, 
    age: age, 
    eyeColor: eye 
}); 
Смежные вопросы