2016-08-03 11 views
2

Gibt es eine Möglichkeit, diesen Code zu machen:Proper Weg, dies zu initialisieren Attribute in JS Objekt

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

Um etwas Ähnliches wie folgt aussehen:

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

mit vielen Variablen erste Methode zur Initialisierung sieht dem Programmierer dumm aus, der alles optimieren will.

+2

'Object.assign (this, { vorName: Erstens, nachName: letztes, Alter: Alter, Augenfarbe: Augen })' –

+0

Die erste Methode nicht Schau dumm zu mir. Es ist einfach und leicht zu lesen. – Ryan

Antwort

2

Verwenden Sie die Methode Object.assign(), um Objekteigenschaften in das Zielobjekt zu kopieren.

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

Neben Object.assign() von Pranav erwähnt. Sie können auch versuchen, ein Optionsobjekt an den Konstruktor zu übergeben.

ZB

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

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