2017-03-23 7 views
0

私はオプションのパラメータを持つクラスを作ろうとしています。オブジェクトの作成/宣言時:クラスコンストラクタに条件文を入れる

は、私はエラー「予期しない識別子にSyntaxError」を取得、私はこれをしようとすると、それは可能if(!(degrees === undefined)) {this._items.degree = degrees}

として、条件などを追加することです。

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; 
      } 
     } 
    } 
}; 

上記は私がradial = new Radial(item, degrees);radial = new Radial(item);としてそれを宣言し、両方がコンソールに予期しない識別子の同じエラーを返し、ラジアルオブジェクトが作成されていない私のコンストラクタ

です。条件付きでifを取り出すと、すべてが機能します。

私は間違っていますか?私はjavascriptクラスの新人です。 varにする必要がある

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

+1

である必要があります。オブジェクトプロペラの割り当てでおそらくエラーが発生します。 ':'でなければなりません – 1252748

答えて

4

あなたの問題は、条件付きではありませんが、それが下の行にあります。また、オブジェクトリテラルは

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

ありがとう、私は非常にばかげています。 – SemicolonExpected