Node.jsでメソッドの引数の数をチェックする方法
Function.lengthとarguments.lengthを使用することによって、引数の数をチェックを行うことができます。
arguments.lengthは実際の引数の数を返します。それに対してFunction.lengthは期待する引数の数を返します。
staticなメソッド
staticなメソッドに対して期待する引数の数を取得するには、クラス名.メソッド名.lengthで取得することが出来ます。
class Sample { static get(a, b) { // 期待する引数は2 if (arguments.length < Sample.get.length) { throw new Error(`${arguments.length}<${Sample.get.length}です`) } // 正常処理 } } Sample.get('test') // 実引数は1
staticではないメソッド
staticではないメソッドの場合に、期待する引数の数を取得するには、this.メソッド名.lengthで取得することが出来ます。
class Sample { get(a, b) { // 期待する引数は2 if (arguments.length < this.get.length) { throw new Error(`${arguments.length}<${this.get.length}です`) } // 正常処理 } } const abc = new Sample() abc.get('test') // 実引数は1
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント