2017-10-25 9 views
0

私はそのコンストラクタのパラメータを持つクラスを持っているとしましょう。クラスをインスタンス化するときにパラメータが渡されることを確認できますか?Es6クラスのコンストラクタが引数が渡されたかどうかを調べる

class Test { 
    constructor(id) {} 
} 

//エラーのいくつかの種類が定義されていた場合、コンストラクタで

var test = new Test(); 

// OK

var test = new Test(1); 
+0

を使用することができます。すなわち: 'コンストラクタ(id){if(id === undefined)throw new error(...); } ' – CRice

+0

if(!id)throw new error() – yBrodsky

+0

パラメータの値を確認しますか? –

答えて

0

チェックをスローし、エラーをスローしない場合になります。

class Test { 
 
    constructor(id) { 
 
     if(id === undefined) { 
 
     throw new Error('id is undefined'); 
 
     } 
 
    } 
 
} 
 

 
new Test();

0

あなたは、私はあなたができる最善のは、コンストラクタ本体でそれを確認すると思い

constructor(id) { 
    if (typeof id != "number") 
     throw new Error("missing numeric id argument"); 
    … 
} 

または

constructor(id) { 
    if (arguments.length < 1) 
     throw new Error("missing one argument"); 
    … 
} 
関連する問題