2017-03-23 4 views
0

Ich versuche eine Klasse zu erstellen, die einen optionalen Parameter hat.Setzen von bedingten Anweisungen im Klassenkonstruktor

Ist es möglich, eine bedingte wie if(!(degrees === undefined)) {this._items.degree = degrees}

hinzufügen Wenn ich versuche, dies zu tun, ich den Fehler „Syntaxerror: Unerwarteter identifier“ auf deklarieren/Erstellen des Objekts.

var element = { 
    degree = 0; 
} 

var Radial = function(items, degrees) { 
    this._items = itemsfunction(); //_items is an element structure the function makes and returns the element 
    if (!(degrees===undefined)) { //where the error occurs 
     for (int i = 0; i<this._items.length; i++) { 
      if (!(degrees[i]===undefined)) { 
       this._items[i].degree = degrees[i]; 
      } else { 
       this._items[i].degree = 0; 
      } 
     } 
    } 
}; 

Die oben ist mein Konstruktor

ich es erklären, wie so radial = new Radial(item, degrees); und radial = new Radial(item); und beide den gleichen Fehler des unerwarteten Bezeichner in der Konsole zurückzukehren, und das Radial-Objekt erstellt wird nicht. Wenn ich die if-Bedingung annehme, funktioniert alles.

Was mache ich falsch? Ich bin neu in Javascript-Klassen.

+1

Fehler wahrscheinlich ist das '=' in der Objekt-Prop-Zuordnung. Sollte sein ':' – 1252748

Antwort

4

Ihr Problem ist nicht mit der Bedingung, es mit der Zeile darunter ist:

for(int i = 0; i<this._items.length; i++){ 
// ^^^ 

Die var sein muss. Außerdem sollte das Objektliteral

… { 
    degree: 0 
}; //  ^^^^ 
+0

Danke, ich fühle mich sehr dumm. – SemicolonExpected

Verwandte Themen